phacility/phabricator · error · ConduitException
ERR-UNKNOWN-TYPE
ERR-UNKNOWN-TYPE
Error message
ERR-UNKNOWN-TYPE
What it means
The feed.query Conduit method renders each feed story according to its 'view' parameter. The switch only handles 'html', 'html-summary', 'data', and 'text'; any other value reaches the default case and throws ConduitException('ERR-UNKNOWN-TYPE'). When 'view' is omitted it defaults to 'data', so this error only fires on an explicit bad value.
Source
Thrown at src/applications/feed/conduit/FeedQueryConduitAPIMethod.php:139
'class' => $story_data->getStoryType(),
'epoch' => $story_data->getEpoch(),
'authorPHID' => $story_data->getAuthorPHID(),
'chronologicalKey' => $story_data->getChronologicalKey(),
'data' => $story_data->getStoryData(),
);
break;
case 'text':
$data = array(
'class' => $story_data->getStoryType(),
'epoch' => $story_data->getEpoch(),
'authorPHID' => $story_data->getAuthorPHID(),
'chronologicalKey' => $story_data->getChronologicalKey(),
'objectPHID' => $story->getPrimaryObjectPHID(),
'text' => $story->renderText(),
);
break;
default:
throw new ConduitException('ERR-UNKNOWN-TYPE');
}
$results[$story_data->getPHID()] = $data;
}
}
return $results;
}
}
View on GitHub (pinned to 5720a38cfe)
Solutions
- Set view to one of the documented values: 'data' (default), 'html', 'html-summary', or 'text'.
- Omit the view parameter entirely if you want the default 'data' rendering.
- Check the exact spelling: hyphen in 'html-summary', all lowercase.
- Read the method's error types via conduit.method.query for the authoritative list.
Example fix
// before
$result = $conduit->callMethodSynchronous(
'feed.query',
array('view' => 'json'));
// after
$result = $conduit->callMethodSynchronous(
'feed.query',
array('view' => 'data')); Defensive patterns
Strategy: validation
Validate before calling
$valid_views = array('data', 'html', 'html-summary', 'text');
if (!in_array($view, $valid_views, true)) {
$view = 'data'; // or reject the request
} Prevention
- Read parameter docs via conduit.method.query rather than guessing values.
- Normalize user-supplied view values (lowercase, hyphen) before calling feed.query.
- Omit 'view' when the default 'data' rendering is sufficient.
When it happens
Trigger: Calling conduit feed.query with view set to anything besides 'data', 'html', 'html-summary', or 'text' — e.g. 'json', 'summary', 'Html' (case matters), or 'html_summary' (underscore vs hyphen).
Common situations: API clients guessing parameter values instead of reading defineParamTypes()/defineErrorTypes(); typos and case mismatches; scripts written against other feed APIs ported to Phabricator; passing an empty-but-present value that is falsy-checked differently.
Related errors
- Conduit API method "%s" does not exist.
- Service "%s" is unrecognized, restricted, or you do not have
- API Method "%s" defines a disallowed parameter, "%s". This p
- API Method "%s" does not define these parameters: %s.
- Method '%s' belongs to application '%s', which is not instal
AI-assisted analysis of phacility/phabricator@5720a38cfe (2026-08-21).
Data as JSON: /api/errors/d09160afd25405c8.
Report an issue: GitHub.