---
title: "Create Model Configuration"
method: POST
path: "/v1/model-configurations"
tags: ["model-configurations"]
---

# Create Model Configuration

`POST /v1/model-configurations`

## Request

- Base URL: `https://api.cyberdesk.io`
- URL: `https://api.cyberdesk.io/v1/model-configurations`
- Auth: HTTP bearer

## Headers

- `Idempotency-Key` string

## Request body

- ModelConfigurationCreate: Create a model configuration. `api_key` is the raw secret material; it will be stored in Basis Theory and only the alias is persisted. For providers that Cyberdesk does not provide keys for, `api_key` is required.
  - `name` string, required
  - `description` string, nullable
  - `provider` string, required: LangChain provider name (e.g. 'anthropic', 'openai').
  - `model` string, required: Provider model identifier (e.g. 'claude-sonnet-4-5-20250929').
  - `temperature` number, nullable
  - `max_tokens` integer, nullable
  - `timeout_seconds` number, nullable
  - `max_retries` integer, nullable
  - `additional_params` object, nullable: Provider-specific kwargs passed through to LangChain.
  - `agent_harness_version_string` string, nullable: Agent harness version string used by Cyberdesk workers for prompt/tool selection.
  - `is_computer_use_model` boolean: True if this model has native computer use capabilities. If True, can be used for main agent, focused actions, and fallbacks for those agents.
  - `is_archived` boolean: Whether this model configuration is archived and should generally be hidden behind archived-model UI affordances.
  - `api_key` string, nullable: Raw API key (stored in Basis Theory; never persisted directly).

## Response `201`

Successful Response

- ModelConfigurationResponse: API response schema for model configurations.
  - `name` string, required
  - `description` string, nullable
  - `provider` string, required: LangChain provider name (e.g. 'anthropic', 'openai').
  - `model` string, required: Provider model identifier (e.g. 'claude-sonnet-4-5-20250929').
  - `temperature` number, nullable
  - `max_tokens` integer, nullable
  - `timeout_seconds` number, nullable
  - `max_retries` integer, nullable
  - `additional_params` object, nullable: Provider-specific kwargs passed through to LangChain.
  - `agent_harness_version_string` string, nullable: Agent harness version string used by Cyberdesk workers for prompt/tool selection.
  - `is_computer_use_model` boolean: True if this model has native computer use capabilities. If True, can be used for main agent, focused actions, and fallbacks for those agents.
  - `is_archived` boolean: Whether this model configuration is archived and should generally be hidden behind archived-model UI affordances.
  - `id` string, uuid, required
  - `organization_id` string, nullable
  - `api_key_alias` string, nullable: Basis Theory token id (alias) used to resolve api_key at runtime.
  - `is_system_default` boolean, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/cyberdesk-hq/apis/cyberdesk-cloud.md) - [All operations](https://skmtc.dev/cyberdesk-hq/apis/cyberdesk-cloud/llms.txt) - [OpenAPI document](https://skmtc.dev/cyberdesk-hq/apis/cyberdesk-cloud/revisions/5579352ae05e?raw)
