Retrieve a model

GET /v1/models/{model}

Returns one model: the same model object as that model's entry in GET /v1/models. Authentication, Cache-Control: private, max-age=300 and ETag / If-None-Match behave as on GET /v1/models. The model ID contains a slash and is sent as-is in the path, for example /v1/models/deepseek-ai/DeepSeek-V4-Pro. The URL-encoded form /v1/models/deepseek-ai%2FDeepSeek-V4-Pro also works. An ID that is not in the catalog returns HTTP 404 model_not_found.

Authentication

Bearer API key required.

Parameters

model (path) — Required

The model ID exactly as listed in GET /v1/models, for example deepseek-ai/DeepSeek-V4-Pro. It contains a slash and is sent as-is (/v1/models/deepseek-ai/DeepSeek-V4-Pro); the URL-encoded form deepseek-ai%2FDeepSeek-V4-Pro also works.

string

Responses

HTTP 200

The model object.

application/json

ModelObject

ModelObject

{
  "id": "deepseek-ai/DeepSeek-V4-Pro",
  "name": "DeepSeek-V4-Pro",
  "object": "model",
  "created": 1780741344,
  "owned_by": "deepseek-ai",
  "type": "text-generation",
  "is_replaced": false
}

HTTP 401

Missing, empty, or revoked API key. This response covers three distinct codes depending on the authentication path: - missing_api_key: Authorization header absent or Bearer token is empty. On GET /v1/models, GET /v1/models/{model}, GET /v1/me and GET /v1/me/avatar, which also accept the x-api-key header, the message is "Provide your API key as: Authorization: Bearer sk-devup-..., or in the x-api-key header." - invalid_api_key: Key not found, deactivated, or not valid. - token_revoked: The scoped JWT credential has been explicitly revoked.

application/json

ErrorResponse

ErrorResponse

Authorization header absent or empty Bearer token
{
  "error": {
    "message": "Provide your API key as: Authorization: Bearer sk-devup-...",
    "type": "devup_error",
    "code": "missing_api_key"
  }
}
Key not found, deactivated, or not valid
{
  "error": {
    "message": "The API key provided is invalid or has been deactivated.",
    "type": "devup_error",
    "code": "invalid_api_key"
  }
}
Scoped JWT credential has been explicitly revoked (scoped-token auth only)
{
  "error": {
    "message": "This scoped token has been revoked.",
    "type": "devup_error",
    "code": "token_revoked"
  }
}

HTTP 404

No model with this ID exists.

application/json

ErrorResponse

ErrorResponse

{
  "error": {
    "message": "The model \"deepseek-ai/DeepSeek-V9\" does not exist. List available models with GET /v1/models.",
    "type": "devup_error",
    "code": "model_not_found"
  }
}

HTTP 429

Too many requests. error.code is rate_limit_exceeded (your account's per-minute limit), model_at_capacity (the model is momentarily at capacity; Retry-After: 5 and retry-after-ms: 5000, no X-RateLimit-* headers; the OpenAI and Anthropic SDKs retry it automatically), concurrency_limit_exceeded, tpm_limit_exceeded, or flex_capacity_unavailable. Wait the number of seconds in Retry-After before retrying.

application/json

ErrorResponse

ErrorResponse

Your account's per-minute limit is reached
{
  "error": {
    "message": "Rate limit exceeded. Please slow down your requests and try again shortly.",
    "type": "devup_error",
    "code": "rate_limit_exceeded"
  }
}
The model is momentarily at capacity
{
  "error": {
    "message": "This model is currently at capacity. Retry in a few seconds.",
    "type": "devup_error",
    "code": "model_at_capacity"
  }
}