List the in-code model provider registry
Returns the catalog of LLM providers Appstrate knows how to talk to. The UI uses this to render the provider picker without hard-coding the catalog client-side. Supports offset pagination (limit/offset) and a fields projection selector — request ?fields=providerId,authMode to skip the heavy per-provider models catalog (the bulk of the payload) when you only need to know which providers exist.
/api/model-provider-credentials/registryCookie session from Better Auth. Requires X-Org-Id header for org-scoped routes.
In: cookie
Query Parameters
1001 <= value <= 100Number of items to skip before the first returned item.
00 <= valueComma-separated allowlist of fields to return per provider (providerId is always included). Allowed: providerId, displayName, iconUrl, description, docsUrl, apiShape, defaultBaseUrl, baseUrlOverridable, authMode, featured, live_model_search, models. An unknown field is a 400.
Header Parameters
Organization ID. Required for cookie auth. Not needed for API key auth (org resolved from key).
uuidcurl -X GET "https://your-instance/api/model-provider-credentials/registry"{
"object": "list",
"data": [
{
"providerId": "string",
"displayName": "string",
"iconUrl": "string",
"description": "string",
"docsUrl": "string",
"apiShape": "anthropic-messages",
"defaultBaseUrl": "string",
"baseUrlOverridable": true,
"authMode": "api_key",
"featured": true,
"live_model_search": true,
"models": [
{
"id": "string",
"label": "string",
"contextWindow": 0,
"maxTokens": 0,
"capabilities": [
"string"
],
"generation": {
"temperature": "supported",
"reasoning": {
"supported": "supported",
"temperature_compatible": "supported",
"adaptive": true,
"levels": {
"property1": "supported",
"property2": "supported"
}
}
},
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0,
"tiers": [
{
"inputTokensAbove": 0,
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
}
]
},
"featured": true
}
]
}
],
"total": 0,
"hasMore": true
}{
"type": "https://docs.appstrate.dev/errors/unauthorized",
"title": "Unauthorized",
"status": 401,
"detail": "Invalid or missing session",
"code": "unauthorized",
"request_id": "req_abc123"
}{
"type": "https://docs.appstrate.dev/errors/forbidden",
"title": "Forbidden",
"status": 403,
"detail": "Insufficient permissions",
"code": "forbidden",
"request_id": "req_abc123"
}