Backtest
Enqueue a backtest job
Min tier: free. Replays historical whale/insider signals through a stake rule and returns immediately with a job id — the simulation runs on a worker queue. Poll GET /v1/backtest/{job_id} until status is done or error.
The body is validated with a strict schema: unknown fields are rejected with 400 bad_request (the message names the offending path). A request with no body, or a body that is not valid JSON, is also 400.
Guardrails:
- Per-key concurrency: at most 3 queued+running jobs per API key. Exceeding it returns 429 with code rate_limited — the same code and the same X-RateLimit-*/Retry-After headers as a quota 429, even though the correct response is to poll your existing jobs rather than sleep for the quota window.
- Global back-pressure: 503 (code internal_error, no Retry-After) when 50 jobs are already queued.
- Window cap: period.to - period.from may not exceed 1,095 days (3 years).
There is no Idempotency-Key support: a retried POST enqueues a second job and consumes another concurrency slot.
post/v1/backtest/run
Request
- Base URL: https://crowdintel.xyz/api
- URL: https://crowdintel.xyz/api/v1/backtest/run
- Auth: HTTP bearer
Request body
Response
Job accepted and queued.
Example response
{
"poll": "/api/v1/backtest/412"
}Changes
No recorded changes to this operation across all 1 revision of this API.