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

# List Models

> List available models.

Retrieve the complete list of models available to your organization, including
models from OpenAI, Anthropic, Google, xAI, Mistral, Fireworks, and DeepSeek.

Returns:
    ListModelsResponse: List of available models across all supported providers

## Overview

List all available models from configured providers. Returns 300+ models across
OpenAI, Anthropic, Google, xAI, DeepSeek, Mistral, Groq, Fireworks, and more.

Each model includes structured metadata:

* **Capabilities** -- what the model can do (text, vision, tools, thinking, etc.)
* **Pricing** -- per-million-token cost in USD (input, output, cached input)
* **Token limits** -- context window and max output tokens
* **Routing** -- which upstream API and endpoints the model supports
* **Status** -- enabled, preview, or deprecated

## Usage Examples

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light","dark":"github-dark"}}
  curl https://api.dedaluslabs.ai/v1/models \
    -H "x-api-key: $DEDALUS_API_KEY"
  ```

  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  from dedalus_labs import Dedalus

  client = Dedalus(api_key="YOUR_API_KEY")

  models = client.models.list()

  for model in models.data:
      print(f"{model.id} ({model.provider})")

      # Check capabilities
      if model.capabilities:
          if model.capabilities.thinking:
              print("  Supports extended reasoning")
          if model.capabilities.vision:
              print("  Supports vision/images")

      # Check pricing
      if model.pricing:
          print(f"  ${model.pricing.input_per_million}/M input, ${model.pricing.output_per_million}/M output")

      # Check token limits
      if model.token_limits and model.token_limits.input:
          print(f"  Context: {model.token_limits.input:,} tokens")
  ```

  ```typescript TypeScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  import { Dedalus } from "dedalus-labs";

  const client = new Dedalus({
    apiKey: "YOUR_API_KEY",
  });

  const models = await client.models.list();

  // Filter by capability
  const reasoningModels = models.data.filter(
    (m) => m.capabilities?.thinking === true,
  );
  console.log(
    "Reasoning models:",
    reasoningModels.map((m) => m.id),
  );

  // Find cheapest model with vision
  const visionModels = models.data
    .filter((m) => m.capabilities?.vision && m.pricing)
    .sort((a, b) => a.pricing!.input_per_million - b.pricing!.input_per_million);
  console.log("Cheapest vision model:", visionModels[0]?.id);
  ```
</CodeGroup>

## Response Fields

| Field                              | Type    | Description                                                   |
| ---------------------------------- | ------- | ------------------------------------------------------------- |
| `id`                               | string  | Model identifier with provider prefix (e.g., `openai/gpt-4o`) |
| `provider`                         | string  | Provider name (`openai`, `anthropic`, `google`, etc.)         |
| `display_name`                     | string  | Human-readable name (e.g., "GPT-4o")                          |
| `description`                      | string  | Short model description                                       |
| `capabilities.text`                | boolean | Supports text generation                                      |
| `capabilities.vision`              | boolean | Supports image understanding                                  |
| `capabilities.image_generation`    | boolean | Supports image generation                                     |
| `capabilities.audio`               | boolean | Supports audio processing                                     |
| `capabilities.tools`               | boolean | Supports function/tool calling                                |
| `capabilities.structured_output`   | boolean | Supports structured JSON output                               |
| `capabilities.streaming`           | boolean | Supports streaming responses                                  |
| `capabilities.thinking`            | boolean | Supports extended reasoning (o1, o3, Claude thinking)         |
| `token_limits.input`               | integer | Maximum input context window in tokens                        |
| `token_limits.output`              | integer | Maximum output tokens per request                             |
| `pricing.input_per_million`        | float   | USD per million input tokens                                  |
| `pricing.output_per_million`       | float   | USD per million output tokens                                 |
| `pricing.cached_input_per_million` | float   | USD per million cached input tokens                           |
| `provider_info.status`             | string  | `enabled`, `preview`, or `deprecated`                         |
| `provider_info.routing`            | array   | Which upstream APIs and endpoints this model uses             |

Fields that are `null` are omitted from the response.

See [Response Schemas](/api-reference/schemas#models) for complete schema documentation.


## OpenAPI

````yaml openapi.json GET /v1/models
openapi: 3.1.0
info:
  title: Dedalus API
  description: >-
    MCP gateway for AI agents. Mix-and-match any model with any tool from our
    marketplace.


    ## Authentication

    Use Bearer token or X-API-Key header authentication:

    ```

    Authorization: Bearer your-api-key-here

    ```

    ```

    x-api-key: your-api-key-here

    ```


    ## Available Endpoints

    - **GET /v1/models**: list available models

    - **POST /v1/chat/completions**: Chat completions with MCP tools

    - **GET /health**: Service health check
  version: 0.0.1
servers:
  - url: https://api.dedaluslabs.ai
    description: Official Dedalus API
security: []
paths:
  /v1/models:
    get:
      tags:
        - V1
        - V1
      summary: List Models
      description: >-
        List available models.


        Retrieve the complete list of models available to your organization,
        including

        models from OpenAI, Anthropic, Google, xAI, Mistral, Fireworks, and
        DeepSeek.


        Returns:
            ListModelsResponse: List of available models across all supported providers
      operationId: list_models_v1_models_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListModelsResponse'
      security:
        - Bearer: []
      x-codeSamples:
        - lang: typescript
          label: Typescript
          source: |-
            const client = new Dedalus();

            const result = await client.models.list();
        - lang: python
          label: Python
          source: |-
            client = Dedalus()

            result = client.models.list()
        - lang: go
          label: Go
          source: |-
            client := dedalus.NewClient()

            result, err := client.Models.List(ctx context.Context)
components:
  schemas:
    ListModelsResponse:
      properties:
        object:
          type: string
          const: list
          title: Object
          description: Response object type
          default: list
        data:
          items:
            $ref: '#/components/schemas/Model'
          type: array
          title: Data
          description: List of available models
      type: object
      required:
        - data
      title: ListModelsResponse
      description: Response for /v1/models endpoint.
    Model:
      properties:
        id:
          type: string
          title: Id
          description: Unique model identifier with provider prefix (e.g., 'openai/gpt-4')
        provider:
          $ref: '#/components/schemas/Provider'
          description: Provider that hosts this model
        created_at:
          type: string
          format: date-time
          title: Created At
          description: When the model was released (RFC 3339)
        display_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Display Name
          description: Human-readable model name
        description:
          anyOf:
            - type: string
            - type: 'null'
          title: Description
          description: Model description
        version:
          anyOf:
            - type: string
            - type: 'null'
          title: Version
          description: Model version identifier
        capabilities:
          anyOf:
            - $ref: '#/components/schemas/ModelCapabilities'
            - type: 'null'
          description: Normalized model capabilities
        defaults:
          anyOf:
            - $ref: '#/components/schemas/ModelDefaults'
            - type: 'null'
          description: Provider-declared default parameters
        provider_info:
          anyOf:
            - $ref: '#/components/schemas/ModelProviderInfo'
            - type: 'null'
          description: Typed provider-specific metadata
        provider_declared_generation_methods:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: Provider Declared Generation Methods
          description: Provider-specific generation method names (None = not declared)
      type: object
      required:
        - id
        - provider
        - created_at
      title: Model
      description: |-
        Unified model metadata across all providers.

        Combines provider-specific schemas into a single, consistent format.
        Fields that aren't available from a provider are set to None.
    Provider:
      type: string
      enum:
        - openai
        - anthropic
        - google
        - xai
        - deepseek
        - mistral
        - groq
        - fireworks
        - cohere
        - together
        - cerebras
        - perplexity
        - moonshot
      title: Provider
      description: Supported LLM providers.
    ModelCapabilities:
      properties:
        text:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Text
          description: Supports text generation
        vision:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Vision
          description: Supports image understanding
        image_generation:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Image Generation
          description: Supports image generation
        audio:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Audio
          description: Supports audio processing
        tools:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Tools
          description: Supports function/tool calling
        structured_output:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Structured Output
          description: Supports structured JSON output
        streaming:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Streaming
          description: Supports streaming responses
        thinking:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Thinking
          description: Supports extended thinking/reasoning
        input_token_limit:
          anyOf:
            - type: integer
            - type: 'null'
          title: Input Token Limit
          description: Maximum input tokens
        output_token_limit:
          anyOf:
            - type: integer
            - type: 'null'
          title: Output Token Limit
          description: Maximum output tokens
      type: object
      title: ModelCapabilities
      description: Normalized model capabilities across all providers.
    ModelDefaults:
      properties:
        temperature:
          anyOf:
            - type: number
            - type: 'null'
          title: Temperature
          description: Default temperature setting
        top_p:
          anyOf:
            - type: number
            - type: 'null'
          title: Top P
          description: Default top_p setting
        top_k:
          anyOf:
            - type: integer
            - type: 'null'
          title: Top K
          description: Default top_k setting
        max_output_tokens:
          anyOf:
            - type: integer
            - type: 'null'
          title: Max Output Tokens
          description: Default maximum output tokens
      type: object
      title: ModelDefaults
      description: Provider-declared default parameters for model generation.
    ModelProviderInfo:
      properties:
        routing:
          items:
            $ref: '#/components/schemas/ModelProviderRoute'
          type: array
          title: Routing
          description: Per-endpoint upstream routing metadata
        status:
          $ref: '#/components/schemas/ModelStatus'
          description: Availability status
      type: object
      required:
        - routing
        - status
      title: ModelProviderInfo
      description: Typed provider metadata surfaced to SDKs.
    ModelProviderRoute:
      properties:
        endpoint:
          $ref: '#/components/schemas/Endpoint'
          description: Dedalus endpoint path
        upstream_api:
          $ref: '#/components/schemas/UpstreamAPI'
          description: Provider API used for this endpoint
      type: object
      required:
        - endpoint
        - upstream_api
      title: ModelProviderRoute
      description: One endpoint -> upstream routing entry exposed by `/v1/models`.
    ModelStatus:
      type: string
      enum:
        - enabled
        - disabled
        - preview
        - deprecated
      title: ModelStatus
      description: Model availability status.
    Endpoint:
      type: string
      enum:
        - /v1/chat/completions
        - /v1/responses
        - /v1/embeddings
        - /v1/images/generations
        - /v1/audio/speech
        - /v1/audio/transcriptions
        - /v1/moderations
      title: Endpoint
      description: API endpoints we expose.
    UpstreamAPI:
      type: string
      enum:
        - openai/chat/completions
        - openai/responses
        - openai/embeddings
        - openai/images
        - openai/audio/speech
        - openai/audio/transcriptions
        - anthropic/messages
        - google/generateContent
        - google/embedContent
        - xai/chat/completions
        - openai-compatible
      title: UpstreamAPI
      description: Upstream provider API types.
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer

````