---
title: "Add Openrouter Model"
method: POST
path: "/v1/ai-models/openrouter/add"
tags: ["ai-models"]
---

# Add Openrouter Model

`POST /v1/ai-models/openrouter/add`

## Request body

- OpenRouterModelAdd
  - `openrouter_model_id` string, required
  - `model_name` string, required
  - `description` string, required
  - `context_window` integer, required
  - `supports_images` boolean, required
  - `thinking` boolean, required
  - `reasoning_mandatory` boolean, required
  - `reasoning` ModelReasoningConfigInput, required
    - `request_family` 'openrouter'
    - `kind` 'toggle' | 'effort' | 'manual_budget', required
    - `default_effort` string, required
    - `options` ModelReasoningOptionInput[], required
      - `effort` string, required
      - `title` string, required
      - `description` string
    - `mandatory` boolean
    - `supports_max_tokens` boolean
    - `min_tokens` integer, nullable
    - `mode` ModelReasoningModeInput
      - `default_mode` string, required
      - `options` ModelReasoningModeOptionInput[], required
        - `mode` string, required
        - `title` string, required
        - `description` string
        - `external_model_id` string, nullable
        - `provider_mode` string, nullable
  - `is_active` boolean
  - `enabled` boolean
  - `needs_proxy` boolean, required
  - `status` string, required
  - `sort_order` integer, nullable, required
  - `strength_factor` number, required
  - `multiplier` number, required
  - `input_price_per_1m` number, required — Input token price per 1M tokens (USD)
  - `output_price_per_1m` number, required — Output token price per 1M tokens (USD)
  - `cached_input_price_per_1m` number, nullable — Cached input token price per 1M tokens (USD)
  - `temperature` number, nullable
  - `top_p` number, nullable

## Response `201`

Successful Response

- OpenRouterModelAddResponse
  - `model_id` string, required
  - `model_name` string, required
  - `provider` string, required
  - `strength_factor` number, required
  - `supports_images` boolean, required
  - `context_window` integer, required
  - `thinking` boolean, required
  - `reasoning_mandatory` boolean, required
  - `reasoning` object, nullable
  - `is_active` boolean, required
  - `enabled` boolean, required
  - `needs_proxy` boolean, required
  - `status` string, required
  - `sort_order` integer, nullable
  - `multiplier` number, required
  - `input_price_per_1m` number, required
  - `output_price_per_1m` number, required
  - `cached_input_price_per_1m` number, nullable
  - `temperature` number, nullable
  - `top_p` number, nullable
  - `message` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/kodik/apis/kodik-api.md) · [All operations](https://skmtc.dev/kodik/apis/kodik-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/kodik/kodik-api/revisions/55c71b347360/schema)
