---
title: "Get a custom model"
method: GET
path: "/api/models/{model_name}/"
tags: ["Models"]
---

# Get a custom model

`GET /api/models/{model_name}/`

## Request

- Base URL: `https://api.respan.ai`
- URL: `https://api.respan.ai/api/models/{model_name}/`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Retrieve a custom model by model name. Custom models are only visible to the project that owns them.

## Path parameters

- `model_name` string, required

## Response `200`

Model details.

- object
  - `id` string, required: Model string ID. Same value as `model_name`.
  - `model_name` string, required: Model name used in API calls.
  - `base_model_name` string: Base model inherited from, when configured.
  - `affiliation_category` 'keywordsai' | 'custom': `keywordsai` for built-in models, `custom` for your organization's models.
  - `is_called_by_custom_name` boolean: Whether requests are sent upstream using this custom model name.
  - `input_cost` number: Cost per 1M input tokens in USD.
  - `output_cost` number: Cost per 1M output tokens in USD.
  - `cache_hit_input_cost` number: Cost per 1M cached input tokens in USD.
  - `cache_creation_input_cost` number: Cost per 1M cache creation input tokens in USD.
  - `max_context_window` integer: Maximum context window size.
  - `function_call` 0 | 1: Function/tool calling support. `0` = no, `1` = yes.
  - `image_support` 0 | 1: Vision input support. `0` = no, `1` = yes.
  - `model_type` 'chat' | 'embedding' | 'audio': Model type.
  - `supported_params` object: Computed parameter support after applying model-specific overrides.
  - `provider` object, nullable
    - `id` string, required: Provider string ID. Same value as `provider_id`.
    - `provider_id` string, required: Unique provider identifier within your organization.
    - `provider_name` string, required: Human-readable provider name.
    - `extra_kwargs` object: Provider configuration such as `base_url` and timeout values. Secret values are not returned here.
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable

## Other responses

- `403`: The API key is missing, invalid or expired.
- `404`: Not Found

## Changes

- **2026-10-21** `c30bcb383ee8`: 8 breaking, 4 warning, 15 info
  - the response property `provider` became nullable for the status `200`
  - the `cache_creation_input_cost` response's property format changed from `double` to no format for status `200`
  - the `cache_hit_input_cost` response's property format changed from `double` to no format for status `200`
  - the `function_call` response's property type changed from `string` to `integer` for status `200`
  - …23 more
- **2026-10-02** `b830b79cfd52`: 6 breaking, 10 warning, 3 info
  - added `#/components/schemas/ApiModelsModelNameGetResponsesContentApplicationJsonSchemaProvider, subschema #2` to the `provider` response property `oneOf` list for the response status `200`
  - the `provider` response's property type changed from `object` to no type for status `200`
  - removed the required property `is_officially_supported` from the response with the `200` status
  - removed the required property `provider/id` from the response with the `200` status
  - …15 more
- **2026-09-17** `6fa8242da8c2`: 1 warning, 1 info
  - deleted the `header` request parameter `Authorization`
  - the endpoint scheme security `RespanApiKey` was added to the API
- **2026-09-12** `22b868ef3f22`: 1 info
  - api operation id `retrieve-custom-model` removed and replaced with `models_retrieveCustomModel`

[Operation history](https://skmtc.dev/respan/apis/respan-api/changes/api/models/:model_name/get.md)

---

[API](https://skmtc.dev/respan/apis/respan-api.md) - [All operations](https://skmtc.dev/respan/apis/respan-api/llms.txt) - [OpenAPI document](https://skmtc.dev/respan/apis/respan-api/revisions/900841387635?raw)
