---
title: "List Models"
method: GET
path: "/v1/models"
tags: ["v1", "v1"]
---

# List Models

`GET /v1/models`

List available models.

Returns a list of available models from all configured providers.
Models are filtered based on provider availability and API key configuration.
Only models from providers with valid API keys are returned.

Args:
    user: Authenticated user obtained from API key validation

Returns:
    ModelsResponse: Object containing list of available models

Raises:
    HTTPException:
        - 401 if authentication fails
        - 500 if internal error occurs during model listing

Requires:
    Valid API key with 'read' scope permission

Example:
    ```python
    import dedalus_labs

    client = dedalus_labs.Client(api_key="your-api-key")
    models = client.models.list()

    for model in models.data:
        print(f"Model: {model.id} (Owner: {model.owned_by})")
    ```

    Response:
    ```json
    {
        "object": "list",
        "data": [
            {
                "id": "openai/gpt-4",
                "object": "model",
                "owned_by": "openai"
            },
            {
                "id": "anthropic/claude-3-5-sonnet-20241022",
                "object": "model",
                "owned_by": "anthropic"
            }
        ]
    }
    ```

## Response `200`

Successful Response

- ModelsResponse — Response containing list of available models. Returns all models available to the authenticated user based on their API key permissions and configured providers. Attributes: object: Always 'list' for compatibility with OpenAI API data: list of Model objects representing available models Example: { "object": "list", "data": [ { "id": "openai/gpt-4", "object": "model", "owned_by": "openai" }, { "id": "anthropic/claude-3-5-sonnet-20241022", "object": "model", "owned_by": "anthropic" } ] }
  - `object` string — Object type
  - `data` Model[], required — List of models
    - `id` string, required — Model identifier
    - `created` integer — Unix timestamp of model creation
    - `object` string — Object type, always 'model'
    - `owned_by` string — Organization that owns this model

## Changes

- **2025-08-18** `df6bb68fd14c` — 3 warning, 4 info
  - removed the optional property `data/items/parent` from the response with the `200` status
  - removed the optional property `data/items/permission` from the response with the `200` status
  - removed the optional property `data/items/root` from the response with the `200` status
  - api tag `models` removed
  - …3 more
- **2025-08-18** `f788f74915ca` — 1 breaking, 6 info
  - response property `data/items/created` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - api tag `models` added
  - added the optional property `data/items/parent` to the response with the `200` status
  - added the optional property `data/items/permission` to the response with the `200` status
  - …3 more
- **2025-08-18** `7e70f823f200` — 3 warning, 4 info
  - removed the optional property `data/items/parent` from the response with the `200` status
  - removed the optional property `data/items/permission` from the response with the `200` status
  - removed the optional property `data/items/root` from the response with the `200` status
  - api tag `models` removed
  - …3 more
- …earlier changes not shown

[Full history](https://skmtc.dev/dedalus-labs/apis/dedalus-api/changes/v1/models/get.md)

---

[API](https://skmtc.dev/dedalus-labs/apis/dedalus-api.md) · [All operations](https://skmtc.dev/dedalus-labs/apis/dedalus-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dedalus-labs/dedalus-api/revisions/df6bb68fd14c/schema)
