---
title: "Poll a deploy started by /api/v1/one_shot/start"
method: GET
path: "/api/v1/one_shot/status"
tags: ["AI agents"]
---

# Poll a deploy started by /api/v1/one_shot/start

`GET /api/v1/one_shot/status`

## Request

- Base URL: `https://api.quantifyme.ai`
- URL: `https://api.quantifyme.ai/api/v1/one_shot/status`
- Auth: none required

## Query parameters

- `token` string, required

## Response `200`

Progress snapshot. Auth is the unguessable job_token itself, so no API key is needed. Poll every few seconds while `done` is false; on `done` show the user `stats` and link them to `live_url`.

- OneShotStatusResponse: Poll snapshot. Keep polling every few seconds while `done` is false.
  - `author` string: Community strategy author, when source='community'.
  - `channels` string[]
  - `code` string: The generated Python strategy.
  - `community_id` integer, nullable
  - `done` boolean: True once the job is terminal (success OR failure).
  - `error` string, nullable: Failure reason when done=true and ok=false.
  - `live_url` string: Live dashboard for the deployed model. Show this to the user.
  - `model` string
  - `msg` string: Human-readable progress line.
  - `ok` boolean: Only meaningful once done=true.
  - `pct` integer: 0-100 progress.
  - `source` 'generated' | 'community' | 'preset': 'community' means a PRE-EXISTING strategy by `author` was deployed, not a fresh one; only when the caller sent its community_id. A vague prompt deploys a curated 'preset', or a 'generated' build when the market has none.
  - `stage` 'generate' | 'train' | 'deploy'
  - `stats` object: Backtest result. `ret`/`mdd` are fractions (0.119 = 11.9%), `wr` is a fraction, `n` is trade count.
    - `mdd` number
    - `n` integer
    - `pf` number
    - `ret` number
    - `wr` number
  - `stem` string
  - `strategy_url` string
  - `suggestion` object, nullable: After a vague prompt: a community strategy that matched, OFFERED and not deployed (#1686). Deploy it only if the user picks it after seeing its author and code, by calling one_shot with its community_id.
    - `author` string
    - `community_id` integer
    - `title` string
  - `symbol` string
  - `timeframe` string

## Other responses

- `400`: Bad request
- `401`: Invalid or missing API key
- `404`: Unknown or expired token
- `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)
