> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eachlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Model catalog API

> Get the featured LLM Router models as JSON, with the model enum schema.

This endpoint lists the featured models. The LLM Router also accepts any other chat model ID published by OpenRouter; see [Available Models](/llm-router/models).


## OpenAPI

````yaml openapi_specs/models.json GET /v1/llm-router/model-catalog
openapi: 3.0.3
info:
  title: each::labs Official API v1
  description: >
    Official each::labs API V1.

    This API provides access to our comprehensive AI model catalog and other
    resources.


    ## Public contract notes


    - Public API routes handled by request logging include `X-Request-Id` for
      support and log correlation. Clients may send `X-Request-Id`; otherwise
      api-service generates one. Root, health, and metrics endpoints are excluded.
    - REST error bodies keep the backward-compatible JSON shape used by existing
      clients. Most errors include at least `error`; some shared error paths also
      include `status` and `details`. Use the HTTP status code as the primary
      programmatic signal unless an endpoint documents a richer envelope.
    - Rate-limit and retry headers are endpoint-dependent. If a response
    includes
      `Retry-After`, honor it before retrying; otherwise use bounded exponential
      backoff for retryable 429/5xx responses.
  version: 1.0.0
  contact:
    name: API Support
    email: support@eachlabs.ai
  x-logo:
    url: ./logo-white.svg
    altText: each::labs
servers:
  - url: https://api.eachlabs.ai
    description: Production server
security: []
tags:
  - name: AI Models
    description: Endpoints for listing and retrieving AI models and other resources.
  - name: AI Models Prediction
    description: Endpoints for managing model predictions
  - name: Uploads
    description: Endpoints for uploading files that can be used as model inputs.
  - name: Executions
    description: Endpoints for listing execution history.
  - name: Workflows
    description: >-
      Endpoints for creating workflows and triggering workflow executions
      through api-service.
  - name: OpenAI Compatibility
    description: OpenAI-compatible endpoints for LLM Router requests.
  - name: Webhooks
    description: >
      Endpoints for retrieving webhook information and delivery history.


      **Note:** Currently, webhooks are only supported for Workflows V2. We are
      actively expanding webhook support to other services and will update this
      documentation as new integrations become available.
paths:
  /v1/llm-router/model-catalog:
    get:
      tags:
        - AI Models
      summary: Get eachlabs-llm-router model catalog
      description: >-
        Retrieve the featured LLM Router models and the generated model enum
        schema. The chat completions endpoint also accepts any other chat model
        ID published by OpenRouter.
      operationId: getLLMRouterModelCatalog
      responses:
        '200':
          description: LLM router model catalog retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LLMRouterModelCatalog'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    LLMRouterModelCatalog:
      type: object
      properties:
        slug:
          type: string
          example: eachlabs-llm-router
        source:
          type: string
          enum:
            - catalog
            - odoo_fallback
        version:
          type: integer
          example: 1
        updated_at:
          type: string
          example: '2026-05-24'
        model_enum:
          type: array
          items:
            type: string
          example:
            - openai/gpt-5.2
            - anthropic/claude-sonnet-4-6
        request_schema:
          type: object
          description: JSON Schema fragment containing the generated model enum.
        models:
          type: array
          items:
            $ref: '#/components/schemas/LLMRouterCatalogModel'
    LLMRouterCatalogModel:
      type: object
      properties:
        id:
          type: string
          example: openai/gpt-5.2
        status:
          type: string
          example: visible
        family:
          type: string
          example: openai
        canonical_provider:
          type: string
          example: openrouter
        canonical_target_model:
          type: string
          example: openai/gpt-5.2
        routing_policy:
          type: string
          example: explicit_route
        legacy_requesty:
          type: boolean
        title:
          type: string
          example: GPT-5.2
        description:
          type: string
        faqs:
          type: array
          items:
            $ref: '#/components/schemas/LLMRouterCatalogFAQ'
        readme_md:
          type: string
    Error:
      type: object
      description: >
        Backward-compatible REST error body. Endpoint-specific handlers may
        return only

        `error`; shared error paths may also include `status` and `details`.
      properties:
        status:
          type: integer
          description: HTTP status code, when returned by the shared error handler.
          example: 400
        error:
          type: string
          description: Safe user-facing error message.
          example: error message
        details:
          nullable: true
          description: Optional validation or request details for client errors.
      required:
        - error
    LLMRouterCatalogFAQ:
      type: object
      properties:
        question:
          type: string
        answer:
          type: string
  responses:
    InternalServerError:
      description: Internal server error
      headers:
        X-Request-Id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: 'Failed to fetch models: internal error'
  headers:
    RequestId:
      description: >-
        Request correlation ID. Echoes the incoming `X-Request-Id` header or a
        generated ID.
      schema:
        type: string
      example: 123e4567-e89b-12d3-a456-426614174000

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.