API reference

Fetch model catalogs before choosing a model.

Ask the API for current models and for the models allowed by a configured agent. Treat the choice as part of your product evidence loop.

Endpoints

Read the catalog rather than hard coding a model id. The set moves: sixteen bases are served today, and a model added to a base appears here before any page of ours could say so.

  • GET /v1/models returns the global model catalog keyed by backend.
  • GET /v1/harnesses/{id}/models returns the model set allowed for one configured agent.
  • GET /v1/bases returns the base harnesses, each with its label, default model and allowed models, plus the runtime defaults every turn starts from.

Backend map

GET /v1/models is keyed by backend, and GET /v1/bases is keyed by base id. The two agree except for Claude Code, whose base id is claude-code and whose backend key is claude.

The sixteen base ids are codex, claude-code, hermes, pi, omp, dsh, opencode, aider, kimi, openhands, cheetahclaws, systemone, qwen, gemini, cline and goose.

Model catalog shape
{
  "backends": {
    "codex": {
      "default": "<id>",
      "models": [{ "id": "", "label": "", "backend": "", "available": true, "default": false }]
    },
    "claude": { "default": "<id>", "models": [] },
    "hermes": { "default": "<id>", "models": [] }
  }
}

Runtime defaults

GET /v1/bases carries a runtimeDefaults object beside the base list. It is what a turn starts from when the configured agent and the request both leave a budget unset.

maxStep
400
timeoutSeconds
7200
maxCostUsd
10.0
Open standard

Both catalogs this page documents, GET /v1/models and the per-agent GET /v1/harnesses/{id}/models, are model discovery endpoints the Unified Harness Protocol assigns to its Harnesses chapter. See models in UHP's Harnesses chapter.

Create API Key

Ready to run this against a live workspace? Keys take under a minute.