List models

⚠️
Preview — this feature is being built; the design below is the spec.
GET https://app.syntic.ai/v1/models

Return 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

HeaderRequiredValue
AuthorizationYesBearer <key>: a private inference key (sk_live_...). See Authentication.

Query parameters

ParameterTypeDefaultDescription
include_unavailablebooleanfalseAlso list models your plan does not include, marked available: false.
capabilitystringOnly models with this capability flag set, for example vision or json_schema. Repeat the parameter to require several.
surfacestringOnly 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:

StatustypecodeWhen
400invalid_request_errorinvalid_surfacesurface is not a known Syntic surface.
400invalid_request_errorinvalid_capabilitycapability is not a known flag.
401authentication_errorinvalid_api_keyThe key is missing, unknown, revoked or expired.
429rate_limit_errorrate_limitedToo 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.

Was this page helpful?