API reference · Models

List models

GET/v1/models

The model ids this key can ask for, with context and output limits where they are known, in both OpenAI and Anthropic fields.

Open Memtro

The model ids this key can ask for. Always memtro and auto; then auto/<provider> for each provider you hold a key for; then <provider>/<model> (or compat:<label>/<model>) for each key's models: the list saved with the key, otherwise the provider's own listing, otherwise a built-in list when the provider does not answer. Each row carries the fields OpenAI clients read and the ones Anthropic clients read, so model discovery works from either SDK. Under the organisation's model lock, only the routing ids and memtro are listed.

Example

Against https://platform.memtro.com, with your key in MEMTRO_API_KEY.

curl https://platform.memtro.com/v1/models \
  -H "Authorization: Bearer $MEMTRO_API_KEY"

Shortened; `created` values illustrative.

{
  "object": "list",
  "data": [
    { "id": "memtro", "object": "model", "created": 1794470400, "owned_by": "memtro (alias for auto)", "limit": { "context": 200000, "output": 32000 }, "type": "model", "display_name": "memtro", "created_at": "2026-11-12T00:00:00.000Z" },
    { "id": "auto", "object": "model", "created": 1794470400, "owned_by": "memtro (complexity-routed across the configured ladder)", "type": "model", "display_name": "auto", "created_at": "2026-11-12T00:00:00.000Z" },
    { "id": "auto/anthropic", "object": "model", "created": 1794470400, "owned_by": "memtro (complexity-routed within anthropic)", "type": "model", "display_name": "auto/anthropic", "created_at": "2026-11-12T00:00:00.000Z" },
    { "id": "anthropic/claude-opus-5", "object": "model", "created": 1794470400, "owned_by": "anthropic", "type": "model", "display_name": "anthropic/claude-opus-5", "created_at": "2026-11-12T00:00:00.000Z" }
  ],
  "has_more": false,
  "first_id": "memtro",
  "last_id": "anthropic/claude-opus-5"
}

Authentication

An API key, as Authorization: Bearer or x-api-key.

  • Every reply, errors included, carries x-request-id and request-id headers with the same id, starting req-. Quote it to support.
  • It sends no CORS headers, so a page on another origin cannot call it; call it from a server.

Response

200application/json

Every model, in one page.

object"list"Optional

Always list.

dataarray of objectsOptional

The models.

8 fields of data
idstringOptional

The id to send as model.

object"model"Optional

Always model.

createdintegerOptional

Unix time, in seconds.

owned_bystringOptional

The provider, or a description for the routing ids.

limitobjectOptional

context and output token limits, where known. For auto and memtro these are the narrowest on the ladder, the only figures true whichever rung answers.

type"model"Optional

Anthropic's field: always model.

display_namestringOptional

Anthropic's field: the id.

created_atstringOptional

Anthropic's field: created as an ISO date.

has_morefalseOptional

Always false: there is one page.

first_idstringOptional

The first id, for Anthropic clients.

last_idstringOptional

The last id, for Anthropic clients.

Errors

In the OpenAI envelope, {"error": {"message", "type", "param", "code"}}. What each code means and what to do about it is in the error catalogue.

StatusCodeWhen
401invalid_api_key

The key is missing, malformed, revoked or expired.

402subscription_inactive

The organisation has no active subscription.

500none

An internal error.

Notes

No CORS headers: call it from a server, not from a page on another origin.

Where agents remember your company

Sign in, add a provider key, create an API key and point your tools at Memtro. It takes about five minutes.

7-day free trial · card on file, nothing charged until it ends · cancel any time