---
title: "Get Model"
method: GET
path: "/v1/models/{model_id}"
tags: ["v1", "v1"]
---

# Get Model

`GET /v1/models/{model_id}`

Get information about a specific model.

Returns detailed information about a specific model by ID.
The model must be available to your API key's configured providers.

Args:
    model_id: The ID of the model to retrieve (e.g., 'openai/gpt-4', 'anthropic/claude-3-5-sonnet-20241022')
    user: Authenticated user obtained from API key validation

Returns:
    DedalusModel: Information about the requested model

Raises:
    HTTPException:
        - 401 if authentication fails
        - 404 if model not found or not accessible with current API key
        - 500 if internal error occurs

Requires:
    Valid API key with 'read' scope permission

Example:
    ```python
    import dedalus_labs

    client = dedalus_labs.Client(api_key="your-api-key")
    model = client.models.retrieve("openai/gpt-4")

    print(f"Model: {model.id}")
    print(f"Owner: {model.owned_by}")
    ```

    Response:
    ```json
    {
        "id": "openai/gpt-4",
        "object": "model",
        "created": 1687882411,
        "owned_by": "openai"
    }
    ```

## Path parameters

- `model_id` string, required

## Response `200`

Successful Response

- DedalusModel — Extended model with configuration capabilities. Inherits basic metadata from Model and adds configuration fields that can be used when creating chat completions. This allows bundling model selection with model-specific parameters. Use this when you want to: - Pre-configure model parameters - Pass model-specific settings - Use intelligent routing with attributes Example: model = DedalusModel( id="gpt-4", temperature=0.7, max_tokens=1000, attributes={"intelligence": 0.9, "cost": 0.8} ) completion = client.chat.completions.create( model=model, # Pass the configured model messages=[...] )
  - `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
  - `name` string, nullable — Model name (alias for id)
  - `temperature` number, nullable — Sampling temperature (0 to 2). Higher values make output more random.
  - `top_p` number, nullable — Nucleus sampling parameter. Alternative to temperature.
  - `frequency_penalty` number, nullable — Penalize new tokens based on their frequency in the text so far.
  - `presence_penalty` number, nullable — Penalize new tokens based on whether they appear in the text so far.
  - `max_tokens` integer, nullable — Maximum number of tokens to generate.
  - `max_completion_tokens` integer, nullable — An upper bound for the number of tokens that can be generated for a completion.
  - `n` integer, nullable — Number of completions to generate for each prompt.
  - `stop` union — Up to 4 sequences where the API will stop generating further tokens.
    - string
    - string[]
  - `stream` boolean, nullable — Whether to stream back partial progress.
  - `stream_options` object, nullable — Options for streaming responses.
  - `logit_bias` object, nullable — Modify the likelihood of specified tokens appearing.
  - `logprobs` boolean, nullable — Whether to return log probabilities of the output tokens.
  - `top_logprobs` integer, nullable — Number of most likely tokens to return at each token position.
  - `response_format` object, nullable — Format for the model output (e.g., {'type': 'json_object'}).
  - `seed` integer, nullable — Seed for deterministic sampling.
  - `service_tier` string, nullable — Latency tier for the request (e.g., 'auto', 'default').
  - `tools` object[], nullable — List of tools the model may call.
  - `tool_choice` union — Controls which tool is called by the model.
    - string
    - object
  - `parallel_tool_calls` boolean, nullable — Whether to enable parallel function calling.
  - `user` string, nullable — A unique identifier representing your end-user.
  - `attributes` object, nullable — [Dedalus] Custom attributes for intelligent model routing (e.g., intelligence, speed, creativity, cost).
  - `metadata` object, nullable — [Dedalus] Additional metadata for request tracking and debugging.

## Other responses

- `422` — Validation Error

## Changes

- **2025-08-21** `df6bb68fd14c` — 2 breaking, 4 info
  - the response property `name` became optional for the status `200`
  - response property `name` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - added the optional property `created` to the response with the `200` status
  - added the optional property `object` to the response with the `200` status
  - …2 more
- **2025-08-21** `0a023cb43fce` — 1 breaking, 3 warning, 2 info
  - removed the required property `id` from the response with the `200` status
  - removed the optional property `created` from the response with the `200` status
  - removed the optional property `object` from the response with the `200` status
  - removed the optional property `owned_by` from the response with the `200` status
  - …2 more
- **2025-08-18** `df6bb68fd14c` — 3 warning, 27 info
  - removed the optional property `parent` from the response with the `200` status
  - removed the optional property `permission` from the response with the `200` status
  - removed the optional property `root` from the response with the `200` status
  - api tag `models` removed
  - …26 more
- …earlier changes not shown

[Full history](https://skmtc.dev/dedalus-labs/apis/dedalus-api/changes/v1/models/:model_id/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)
