---
title: "Deploy a trained model for live signal delivery (free tier auto-swaps)"
method: POST
path: "/api/v1/deploy"
tags: ["Deploy"]
---

# Deploy a trained model for live signal delivery (free tier auto-swaps)

`POST /api/v1/deploy`

## Request

- Base URL: `https://api.quantifyme.ai`
- URL: `https://api.quantifyme.ai/api/v1/deploy`
- Auth: API key in header `X-API-Key`

## Request body

- DeployRequest
  - `channels` string[]
  - `model_name` string, required: Model PKL stem or display name.
  - `telegram_chat_id` string
  - `webhook_url` string, uri

## Response `200`

Successful response

- DeployResponse
  - `channel_results` ChannelResult[]
    - `channel` 'telegram' | 'discord' | 'api' | 'email' | 'webhook' | 'platforms' | 'sse'
    - `ok` boolean
    - `reason` string, nullable: Why the channel did not connect, in words to act on; null when ok.
  - `channels` string[]
  - `channels_total` integer
  - `live_on` integer: How many channels confirmed.
  - `model` string
  - `ok` boolean: True when every channel confirmed. False on a partial deploy: the model is still live on the channels that confirmed.
  - `status` string
  - `stopped` object[]: On a free plan (one live model), the model this deploy stopped; empty otherwise.
    - `label` string
    - `model` string

## Other responses

- `400`: Bad request
- `401`: Invalid or missing API key
- `429`: Rate limit exceeded, or insufficient credits (body carries credits_remaining and credits_required)

---

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