Sign-up and API keys are open. Paid top-ups open soon.What changed
Docs menu

API reference, Models

List model aliases and exact versions

View as Markdown

GET/v1/modelsoperation id listModels

Any valid API key may call this route. Fallback versions are listed for transparency; callers cannot request them directly.

Authentication. API key as authorization: Bearer <key>, scope any scope.

Parameters

x-client-request-idheader ยท string
Your own correlation id, accepted on every public operation. Logged with the request metadata and echoed in the response. A malformed value answers 400 invalid_header.
  • 1 to 128 characters
  • pattern ^[\x21-\x7E]+$

Responses

200Models visible to the caller.

Headers: x-request-id, x-client-request-id, ratelimit-policy, ratelimit

objectstringrequired
  • always "list"
dataarray of Modelrequired
data[].idstringrequired
data[].objectstringrequired
  • always "model"
data[].kindstringrequired
  • one of "alias", "version"
data[].targetstring | null
For an alias, the exact version it resolves to.
data[].served_byServedByrequired
gpu is our own engine; fallback is the hosted Azure OpenAI path in the EU data zone.
  • one of "gpu", "fallback"
data[].statusstringrequired
  • one of "active", "deprecated", "retired"
data[].deterministicbooleanrequired
True when the same request always gives the same answers from this version.
data[].released_atstringrequired
  • format date-time
data[].retires_atstring | null
  • format date-time
data[].calibrationstring | null
data[].upstreamstring | null
For fallback versions, the hosted model and region that serve them.
data[].limitsModelLimitsrequired
data[].limits.max_state_tokensintegerrequired
data[].limits.max_question_tokensintegerrequired
data[].limits.max_total_tokensintegerrequired
data[].limits.max_questionsintegerrequired
data[].limits.max_optionsintegerrequired
data[].limits.max_levelsintegerrequired
data[].limits.exact_option_probabilitiesinteger
How many options get exact probabilities. Fallback versions give exact values for the 20 most likely options.
data[].qualityModelQuality | null
data[].quality.agreementnumberrequired
Agreement with reference labels on the report split, both languages.
data[].quality.agreement_ennumberrequired
data[].quality.agreement_nlnumberrequired
data[].quality.eceobjectrequired
data[].quality.ece.picknumberrequired
data[].quality.ece.ratenumberrequired
data[].quality.ece.checknumberrequired
data[].quality.report_urlstringrequired
  • format uri
400The request could not be read. Codes: invalid_json (not JSON, not UTF-8, or a \u escape that is half of a surrogate pair, such as "\ud800" without its low half), duplicate_key (a JSON object repeats a key; param is the JSON pointer of the repeated member, such as /questions/q1/options/a), unsupported_media_type (not application/json) and invalid_header (a malformed idempotency-key or x-client-request-id; param names the header).

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

401Missing, unknown, revoked or expired credentials.

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

403The credentials are valid but not allowed to do this (missing scope, suspended account or failed CSRF check).

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

429A rate limit or quota is exhausted. Retry after the given number of seconds. For test_daily_quota that is the time until 00:00 UTC; clients should not retry it automatically.

Headers: x-request-id, x-client-request-id, retry-after, ratelimit-policy, ratelimit

Error envelope. See Errors for every type and code.

500An unexpected error. Any charge was refunded. Retry with the same idempotency key.

Headers: x-request-id, x-client-request-id

Error envelope. See Errors for every type and code.

503No serving path could answer in time, or a dependency is down. Any charge was refunded.

Headers: x-request-id, x-client-request-id, retry-after

Error envelope. See Errors for every type and code.

Example request

curl "https://api.thinqit.ai/v1/models" \
  -H "authorization: Bearer $DEX_API_KEY"

Examples

Illustrative values. Examples show the shape of requests and responses; the numbers in them are not measured results.

Response: The alias, the GPU version and the two fallback versions (illustrative numbers)

{
  "object": "list",
  "data": [
    {
      "id": "dex-1",
      "object": "model",
      "kind": "alias",
      "target": "dex-1.0.0",
      "served_by": "gpu",
      "status": "active",
      "deterministic": true,
      "released_at": "2026-10-15T00:00:00Z",
      "retires_at": null,
      "calibration": "cal-20261015-1",
      "upstream": null,
      "limits": {
        "max_state_tokens": 16384,
        "max_question_tokens": 4096,
        "max_total_tokens": 16384,
        "max_questions": 32,
        "max_options": 255,
        "max_levels": 10,
        "exact_option_probabilities": 255
      },
      "quality": null
    },
    {
      "id": "dex-1.0.0",
      "object": "model",
      "kind": "version",
      "target": null,
      "served_by": "gpu",
      "status": "active",
      "deterministic": true,
      "released_at": "2026-10-15T00:00:00Z",
      "retires_at": null,
      "calibration": "cal-20261015-1",
      "upstream": null,
      "limits": {
        "max_state_tokens": 16384,
        "max_question_tokens": 4096,
        "max_total_tokens": 16384,
        "max_questions": 32,
        "max_options": 255,
        "max_levels": 10,
        "exact_option_probabilities": 255
      },
      "quality": {
        "agreement": 0.701,
        "agreement_en": 0.712,
        "agreement_nl": 0.69,
        "ece": {
          "pick": 0.031,
          "rate": 0.044,
          "check": 0.027
        },
        "report_url": "https://thinqit.ai/docs/calibration/dex-1.0.0/cal-20261015-1"
      }
    },
    {
      "id": "dex-fallback-1.0.0",
      "object": "model",
      "kind": "version",
      "target": null,
      "served_by": "fallback",
      "status": "active",
      "deterministic": false,
      "released_at": "2026-10-15T00:00:00Z",
      "retires_at": "2027-04-14T00:00:00Z",
      "calibration": "cal-20261015-2",
      "upstream": "Azure OpenAI gpt-4.1-mini (2025-04-14), Data Zone Standard, EU",
      "limits": {
        "max_state_tokens": 16384,
        "max_question_tokens": 4096,
        "max_total_tokens": 16384,
        "max_questions": 32,
        "max_options": 255,
        "max_levels": 10,
        "exact_option_probabilities": 20
      },
      "quality": {
        "agreement": 0.724,
        "agreement_en": 0.733,
        "agreement_nl": 0.715,
        "ece": {
          "pick": 0.038,
          "rate": 0.047,
          "check": 0.03
        },
        "report_url": "https://thinqit.ai/docs/calibration/dex-fallback-1.0.0/cal-20261015-2"
      }
    },
    {
      "id": "dex-fallback-lite-1.0.0",
      "object": "model",
      "kind": "version",
      "target": null,
      "served_by": "fallback",
      "status": "active",
      "deterministic": false,
      "released_at": "2026-10-15T00:00:00Z",
      "retires_at": "2027-04-14T00:00:00Z",
      "calibration": "cal-20261015-3",
      "upstream": "Azure OpenAI gpt-4o-mini (2024-07-18), Data Zone Standard, EU",
      "limits": {
        "max_state_tokens": 16384,
        "max_question_tokens": 4096,
        "max_total_tokens": 16384,
        "max_questions": 32,
        "max_options": 255,
        "max_levels": 10,
        "exact_option_probabilities": 20
      },
      "quality": {
        "agreement": 0.686,
        "agreement_en": 0.697,
        "agreement_nl": 0.675,
        "ece": {
          "pick": 0.041,
          "rate": 0.049,
          "check": 0.034
        },
        "report_url": "https://thinqit.ai/docs/calibration/dex-fallback-lite-1.0.0/cal-20261015-3"
      }
    }
  ]
}