Docs menu

GET /v1/models

The catalog, as the OpenAI-shaped list every compatible client knows how to read.

bash
curl https://sator-api.princep.org/v1/models
json
{
  "object": "list",
  "data": [
    {"id": "glm-5.2", "object": "model", "created": 1770000000, "owned_by": "princeps-sator"},
    {"id": "deepseek-v4-flash", "object": "model", "created": 1770000000, "owned_by": "princeps-sator"}
  ]
}
  • No key needed. Every id here is already public, and a client at $0 balance or with a mistyped key still gets a working model list rather than an empty dropdown.
  • Four fields per row, nothing else. No rates and no context windows: this endpoint is for discovery. Models is where a human compares, and the price page is where the rates are.
  • created is constant. It is the date the catalog was pinned, the same on every row, so an unchanged catalog is byte-identical between calls and safe to cache.
  • No redirect, served from a constant. Tools that fill their model picker from {baseURL}/models — Cline, Roo Code, Claude Code's gateway discovery with its three-second timeout — get a direct 200.
  • The list is the catalog. An id here can be sent as model on either wire; an id not here is 404 model_not_found.

Query parameters are ignored. GET /v1/models?limit=1000, which Claude Code sends, returns the full list.