B2BB2B LLM

GET /v1/models

List enabled models, aliases, capabilities, and key-specific cost and usage-cost rates.

GET /v1/models

Returns every enabled model available to the authenticated API key. Prices are decimal strings in USD per one million tokens.

Authentication

Authorization: Bearer mg_live_...

x-api-key: mg_live_... is also accepted.

Keys with status active or frozen may read the model catalog and their key-specific pricing. A frozen key remains blocked from inference endpoints and from other account metadata endpoints that require an active key.

Request

curl https://api.model-gate.com/v1/models \
  -H "Authorization: Bearer mg_live_..."

Response

{
  "object": "list",
  "data": [
    {
      "id": "claude-opus-4.7",
      "object": "model",
      "owned_by": "anthropic",
      "display_name": "Claude Opus 4.7",
      "aliases": ["ch-47"],
      "currency": "USD",
      "pricing_unit": "per_1m_tokens",
      "cost": {
        "input": "0.2",
        "output": "1",
        "cache_read": "0.02",
        "cache_write": "0.25",
        "reasoning": "1"
      },
      "official_cost": {
        "input": "1",
        "output": "5",
        "cache_read": "0.1",
        "cache_write": "1.25",
        "reasoning": "5"
      },
      "usage_cost": {
        "input": "10",
        "output": "50",
        "cache_read": "1",
        "cache_write": "12.5",
        "reasoning": "50"
      },
      "usage_pricing": {
        "basis": "official_price",
        "multiplier": "10",
        "inherited_from": "key"
      },
      "batch_cost": {
        "input": "0.1",
        "output": "0.5",
        "cache_read": "0.01",
        "cache_write": "0.125",
        "reasoning": "0.5"
      },
      "batch_pricing": {
        "multiplier": "0.5",
        "applies_to": "claude_openai_compat_batches"
      },
      "context_length": 200000,
      "context_window": 200000,
      "max_input_tokens": 180000,
      "max_output_tokens": 20000,
      "max_completion_tokens": 20000,
      "supports_streaming": true,
      "supports_tools": true,
      "supports_vision": true
    }
  ]
}

Price fields

  • cost is the actual Model Gate rate used to debit the account balance.
  • official_cost is the saved official provider catalog rate.
  • usage_cost is the effective rate used only for resettable API-key and group usage limits.
  • usage_pricing identifies the basis, multiplier, and inheritance source for the authenticated key.
  • When the account billing template has a batch coefficient different from 1, batch_cost shows the effective actual rates for Claude/OpenAI-compatible batch items and batch_pricing.multiplier identifies the additional Model Gate coefficient. These conditional fields are omitted when the coefficient is 1. Native async=true does not use this coefficient.

For official_price, each displayed usage_cost rate is official_cost × multiplier. For user_price, it is cost × multiplier. These are per-million-token catalog rates. Final request settlement first calculates and rounds the selected base request amount to 10 decimal places, then applies the multiplier and rounds the result to 10 decimal places.

Model limit fields

  • context_window is the client-facing context-window value and currently equals context_length.
  • max_input_tokens is the configured maximum input-token value when known.
  • max_output_tokens is the configured maximum output-token value when known.
  • max_completion_tokens is the completion-limit compatibility field used by provider-style model metadata.
  • A numeric value of 0 means that Model Gate does not have a configured value for that limit. Clients with optional manual limit overrides should leave that setting unset rather than treating 0 as an actual model limit or guessing another value.

The authenticated /models page also displays Context, Max input, and Max output for known non-zero values, so ordinary users do not need to query the API just to copy these limits into a client configuration.

Errors

{
  "error": {
    "type": "authentication_error",
    "code": "invalid_api_key",
    "message": "missing API key"
  }
}