API reference

List models

GET /v1/models lists the models your API key can call, in the OpenAI list format.

On this page
GEThttps://api.larasrouter.com/v1/models

Lists the models your key can call, with their limits, capabilities, and prices. Every listed model has a published price.

Authentication
Send the key in either header:Authorization: Bearer lr_live_…x-api-key: lr_live_…

Request

This endpoint takes no request body.

curl https://api.larasrouter.com/v1/models \
  -H "Authorization: Bearer $LARAS_API_KEY"

Response body

  • objectstring

    Always list.

  • dataarray

    The models.

    • idstring

      Model ID to send as model, e.g. deepseek-flash.

    • objectstring

      Always model.

    • createdinteger

      Unix timestamp in seconds.

    • owned_bystring

      Always larasrouter.

    • context_lengthinteger

      Context window in tokens, shared by the prompt and the output.

    • max_output_tokensinteger

      The largest max_tokens (or max_completion_tokens) accepted. A larger value is rejected with 400 max_tokens_exceeded.

    • default_output_tokensinteger

      The output cap applied when you omit max_tokens.

    • capabilitiesobject

      What the gateway accepts for this model. false means a request that uses the feature is rejected.

    • pricingobject

      The fixed price, in USD per unit_tokens tokens, as exact decimal strings (at least three decimals). The names differ from per-token fields such as OpenRouter’s prompt and completion so the units cannot be mixed up.

200 OK
{
  "object": "list",
  "data": [
    {
      "id": "deepseek-flash",
      "object": "model",
      "created": 1760241600,
      "owned_by": "larasrouter",
      "context_length": 1000000,
      "max_output_tokens": 384000,
      "default_output_tokens": 8192,
      "capabilities": {
        "streaming": true,
        "tools": true,
        "json_output": true,
        "thinking": true,
        "vision": false
      },
      "pricing": {
        "version": "deepseek-flash-2026-09-v1",
        "currency": "USD",
        "unit_tokens": 1000000,
        "input_cache_hit": "0.010",
        "input": "0.400",
        "output": "1.600"
      }
    }
  ]
}

id, object, created, and owned_by are the standard OpenAI model fields, so OpenAI SDKs parse the object as usual. The other fields are Laras Router extensions: the limits the gateway enforces, the features it accepts, and the price it charges, read from the same catalogue that prices your requests.

Responses

200The model list.
application/json
401Authentication failed.
application/json
CodeTypeMeaning
invalid_api_keyinvalid_request_errorThe key is missing, malformed, revoked, or unknown.
503The price catalogue is temporarily unavailable.
application/json
CodeTypeMeaning
billing_unavailableapi_errorRetry later.