Introduction
The Quantinal API is a RESTful JSON API that gives you programmatic access to your spaces, trackers, runs, and sources. Everything you can do in the console — create trackers, trigger runs, upload data — you can automate through the API.
Base URL
All endpoints are served under a single versioned base:
https://api.quantinal.ai/v1
The path prefix /v1 is the API URL version. Product release v0.4 documents account-level plans and the Sources model. There is no separate /v2 base URL.
Authentication
Include your API token in the Authorization header. Tokens start with qapi_.
Authorization: Bearer qapi_your_token
You can also pass your token via X-API-Key or X-API-Token headers.
Get your token: Console → Account → API Tokens
API tokens provide programmatic access to your resources:
- Spaces — Read only (list, get). Create trackers in spaces.
- Trackers — Full access (CRUD, trigger runs, list runs, get/delete runs)
- Sources — Manage sources (
/sources) and upload files (/files), plus recent-data reads
The following operations require the web console (not accessible via API tokens):
- Space creation, update, and deletion
- Account plan purchase and billing management
- Webhooks and account settings
- Privacy operations (GDPR export, account deletion)
Response Format
All endpoints return JSON. Successful responses include the resource data directly or wrapped in a paginated data array for most list endpoints.
Single resource:
{
"space_id": "spc_abc123",
"name": "Market Research",
...
}
List endpoints:
{
"data": [ ...items... ],
"pagination": {
"page": 1,
"page_size": 20,
"total_items": 53,
"total_pages": 3
}
}
Some query-style endpoints may return a non-paginated shape when pagination is not needed.
For example, GET /api/spaces/{space_id}/filesystem/recent returns:
{
"results": [ ...items... ],
"total": 10
}
Errors
{"detail": "Tracker not found"}
| Code | Meaning |
|---|---|
400 | Invalid request — check parameters and request body |
401 | Unauthorized — invalid or missing API token |
402 | Insufficient quants — top up your balance |
403 | Forbidden — endpoint requires web console, or access denied |
404 | Not found — resource doesn't exist or you don't own it |
409 | Conflict — e.g., triggering a run while another is pending/running |
422 | Validation error — invalid field values (e.g. more than 5 sources on a tracker) |
429 | Rate limited — slow down and retry |
Pagination
List endpoints return paginated results:
| Parameter | Type | Required | Description |
|---|---|---|---|
page | integer | No | Page number (default: 1) |
page_size | integer | No | Items per page (default: 20, max varies by endpoint) |