Skip to main content
POST
/
api
/
v1
/
models
Create Model
curl --request POST \
  --url https://control-plane.kubiya.ai/api/v1/models \
  --header 'Content-Type: application/json' \
  --data '{
  "value": "<string>",
  "label": "<string>",
  "provider": "<string>",
  "logo": "<string>",
  "description": "<string>",
  "enabled": true,
  "recommended": false,
  "compatible_runtimes": [
    "<string>"
  ],
  "capabilities": {},
  "pricing": {},
  "display_order": 1000
}'
{
  "id": "<string>",
  "value": "<string>",
  "label": "<string>",
  "provider": "<string>",
  "logo": "<string>",
  "description": "<string>",
  "enabled": true,
  "recommended": true,
  "compatible_runtimes": [
    "<string>"
  ],
  "capabilities": {},
  "pricing": {},
  "display_order": 123,
  "created_at": "<string>",
  "updated_at": "<string>"
}

Body

application/json

Schema for creating a new LLM model

value
string
required

Model identifier (e.g., 'kubiya/claude-sonnet-4')

label
string
required

Display name (e.g., 'Claude Sonnet 4')

provider
string
required

Provider name (e.g., 'Anthropic', 'OpenAI')

Logo path or URL

description
string | null

Model description

enabled
boolean
default:true

Whether model is enabled

Whether model is recommended by default

compatible_runtimes
string[]

List of compatible runtime IDs (e.g., ['default', 'claude_code'])

capabilities
object

Model capabilities (e.g., {'vision': true, 'max_tokens': 4096})

pricing
object | null

Pricing information

display_order
integer
default:1000

Display order (lower = shown first)

Response

Successful Response

Schema for LLM model responses

id
string
required
value
string
required
label
string
required
provider
string
required
description
string | null
required
enabled
boolean
required
compatible_runtimes
string[]
required
capabilities
object
required
pricing
object | null
required
display_order
integer
required
created_at
string
required
updated_at
string
required