---
title: "Public model catalog"
method: GET
path: "/models"
---

# Public model catalog

`GET /models`

## Request

- Base URL: `https://api.openmayhem.ai/v1`
- URL: `https://api.openmayhem.ai/v1/models`
- Auth: none required

No auth. Prices, availability, parameters and request contracts per model.

## Query parameters

- `live` boolean
- `endpoint_family` 'CHAT' | 'COMPLETIONS' | 'RESPONSES' | 'EMBEDDINGS' | 'DECISIONS' | 'IMAGES' | 'VIDEOS' | 'AUDIO_SPEECH' | 'AUDIO_TRANSCRIPTIONS' | 'AUDIO_GENERATIONS' | 'MUSIC' | 'WORKFLOWS'
- `modality` 'text' | 'embedding' | 'decision' | 'image' | 'video' | 'audio' | 'music' | 'workflow'
- `attestation_tier` integer
- `min_attestation_tier` integer
- `max_input_price_per_million_usd` string: Non-negative catalog price in USD with at most 18 decimal places, parsed with exact fixed-point arithmetic.
- `max_output_price_per_million_usd` string: Non-negative catalog price in USD with at most 18 decimal places, parsed with exact fixed-point arithmetic.
- `max_representative_request_price_usd` string: Non-negative catalog price in USD with at most 18 decimal places, parsed with exact fixed-point arithmetic.
- `min_context_tokens` integer
- `quantization` string
- `tools` boolean
- `structured_output` boolean
- `provider` string
- `prompt_confidential` boolean
- `sort` 'id' | 'providers' | 'input_price' | 'output_price' | 'request_price' | 'context' | 'listed'
- `order` 'asc' | 'desc'
- `limit` integer
- `cursor` string

## Response `200`

Filtered model page with pricing, trust, capacity and provider availability.

- CatalogPage
  - `object` 'list', required
  - `data` CatalogModel[], required
    - `id` string, required: Lowercase catalog model id.
    - `object` 'model'
    - `name` string, required
    - `endpoints` string[], required
    - `family` string, nullable
    - `model_class` string, nullable
    - `context_length` integer, nullable
    - `max_tokens` integer, nullable
    - `parameters` string[], nullable
    - `request_contracts` object[]: Signed endpoint request contracts, including required attributes and allowed values. Inspect the contract for the selected endpoint rather than assuming all models accept the same parameters.
    - `workflow` object, nullable: Signed workflow policy when available, including approved graph constraints and parts. Custom dimensions and LoRAs remain subject to this policy.
    - `workflow_media` object, nullable: Validated media presentation metadata when available: supported controls, presets and approved selections used by Studio. This does not imply every model supports these features.
    - `live_capacity_profiles` object[]: Current provider capacity profiles. A request must fit an eligible provider as well as the model contract; a catalog preset is not an availability guarantee.
    - `registered_capacity_profiles` object[]: Registered capacity profiles, including providers that may not currently be available.
    - `listed_at` string, date-time, nullable
    - `providers_online` integer, required
    - `attestation_tiers` integer[], required
    - `live_attestation_tiers` integer[], required
    - `attestation_tier_labels` object, required
    - `live_attestation_tier_labels` object, required
    - `quantizations` string[], required
    - `live_quantizations` string[], required
    - `route_count` integer, required
    - `registered_route_count` integer, required
    - `provider_count` integer, required
    - `registered_provider_count` integer, required
    - `providers` CatalogProvider[], required
      - `id` string, required
      - `live` boolean, required
    - `prompt_confidential` boolean, required: True when a live confidential route exists.
    - `registered_prompt_confidential` boolean, required
    - `kyb_identities` CatalogKybIdentity[], required
      - `provider` string, required
      - `legal_name` string, required
      - `jurisdiction` string, required
      - `proof_hash` string, required
      - `kyb_ref` string, required
    - `registered_kyb_identities` CatalogKybIdentity[], required
      - `provider` string, required
      - `legal_name` string, required
      - `jurisdiction` string, required
      - `proof_hash` string, required
      - `kyb_ref` string, required
    - `attestation_verification` object, nullable, required: Sanitized aggregate policy-readiness counts from Core.
    - `capacity` CatalogCapacity, required
      - `context_tokens` integer, nullable, required
      - `output_tokens` integer, nullable, required
      - `concurrent_requests` integer, nullable, required
    - `routes` CatalogRoute[], required: Sanitized registered route tuples. live marks routes currently dispatch-eligible; one tuple must satisfy all composed route filters.
      - `provider` string, required
      - `live` boolean, required
      - `attestation_tier` integer, nullable, required
      - `quantization` string, nullable, required
      - `context_tokens` integer, nullable, required
      - `prompt_confidential` boolean, required
      - `tools` boolean, required
      - `structured_output` boolean, required
      - `kyb` CatalogKybIdentity
        - `provider` string, required
        - `legal_name` string, required
        - `jurisdiction` string, required
        - `proof_hash` string, required
        - `kyb_ref` string, required
      - `attestation_verification` object, nullable: Sanitized route policy readiness; internal reasons are never exposed.
        - `policy_required` boolean, nullable
        - `locally_ready` boolean, nullable
    - `pricing` CatalogPricing, required
      - `unit` 'au_usd', required
      - `rates` CatalogRate[], required
        - `unit` string, required
        - `per_unit_au` string, required: Atto-USD per billing unit.
        - `granularity` integer, required
      - `dimensions` CatalogRate[]
        - `unit` string, required
        - `per_unit_au` string, required: Atto-USD per billing unit.
        - `granularity` integer, required
      - `prompt_per_million_au` string, nullable, required
      - `completion_per_million_au` string, nullable, required
      - `request_au` string, required
      - `min_request_au` string, required
      - `price_version` integer, required
      - `representative_request_au` string, required: Retail price for one granularity block of every priced dimension. Use this unit-aware reference for cross-modality comparison; it is not a forecast for an arbitrary request.
      - `representative_usage` object, required
  - `next_cursor` string, nullable, required: Opaque continuation cursor bound to the current filter and sort query.

## Other responses

- `400`: Invalid, repeated or incompatible catalog filter.

---

[API](https://skmtc.dev/openmayhem/apis/openmayhem-api.md) · [All operations](https://skmtc.dev/openmayhem/apis/openmayhem-api/llms.txt) · [OpenAPI document](https://skmtc.dev/openmayhem/apis/openmayhem-api/revisions/0ea33ad12f21?raw)
