List models
⚠️
Preview — this feature is being built; the design below is the spec.
GET https://app.syntic.ai/v1/modelsReturn the models your key can use, newest catalog entries last, with their context window, output cap, capability flags and prices. Use it to populate a model picker or to read limits at start-up instead of hard-coding them.
Headers
| Header | Required | Value |
|---|---|---|
Authorization | Yes | Bearer <key>: a private inference key (sk_live_...). See Authentication. |
Query parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
include_unavailable | boolean | false | Also list models your plan does not include, marked available: false. |
capability | string | Only models with this capability flag set, for example vision or json_schema. Repeat the parameter to require several. | |
surface | string | Only models offered on one Syntic product surface. cli returns the models Syntic Code can use. Unknown values return 400 invalid_surface. |
Response
200 OK, Content-Type: application/json
{
"object": "list",
"data": [
{
"id": "Amara S1.2",
"object": "model",
"created": 1767225600,
"display_name": "Amara S1.2",
"family": "amara",
"description": "General work: drafting, analysis, coding help, conversation.",
"default": true,
"available": true,
"context_window": 262144,
"max_output_tokens": 32768,
"capabilities": {
"tools": true,
"parallel_tool_calls": true,
"strict_tools": true,
"json_object": true,
"json_schema": true,
"vision": true,
"documents": true,
"citations": false,
"reasoning": false,
"temperature": true,
"top_p": true,
"top_k": false,
"penalties": false,
"seed": false,
"server_tools": [
"syntic_web_search",
"syntic_web_fetch"
]
},
"pricing": {
"currency": "USD",
"unit": "1M tokens",
"input": 2.5,
"cached_input": 0.4,
"output": 12.0,
"batch_discount": 0.5
},
"zero_data_retention": true,
"deprecation": null
}
]
}The list follows the OpenAI-compatible shape (object: "list", data[]), so existing client code that lists models keeps working. It is not paginated: the catalog is small. Every item is a model object.
Examples
curl -sS "https://app.syntic.ai/v1/models?capability=tools" \
-H "Authorization: Bearer $SYNTIC_API_KEY"Errors
Errors use the error envelope and carry a request_id. Codes specific to this operation:
| Status | type | code | When |
|---|---|---|---|
| 400 | invalid_request_error | invalid_surface | surface is not a known Syntic surface. |
| 400 | invalid_request_error | invalid_capability | capability is not a known flag. |
| 401 | authentication_error | invalid_api_key | The key is missing, unknown, revoked or expired. |
| 429 | rate_limit_error | rate_limited | Too many requests; wait for Retry-After. See Rate-limit headers. |
Caching
Responses carry Cache-Control: private, max-age=300. The catalog changes rarely, so cache the list for a few minutes. Model lookups are capped at 60 calls a minute per key, separately from inference.
Related
Was this page helpful?