Base URL: https://api.cloudmind.ai/v1
Authentication
Bearer token in the Authorization header.
curl https://api.cloudmind.ai/v1/traces \
-H "Authorization: Bearer $CLOUDMIND_API_KEY"
Keys are scoped to a single workspace. Keys prefixed cm_live_ write to production; cm_test_ keys write to an isolated test workspace that does not count toward your quota.
Traces
| Method |
Path |
Description |
POST |
/traces |
Ingest a batch of traces |
GET |
/traces |
List traces with filters |
GET |
/traces/{id} |
Fetch one trace with all spans |
POST |
/traces/{id}/feedback |
Attach a user feedback score |
curl "https://api.cloudmind.ai/v1/traces?feature=inbox-summary&since=2026-07-01&limit=50" \
-H "Authorization: Bearer $CLOUDMIND_API_KEY"
Prompts
| Method |
Path |
Description |
GET |
/prompts |
List prompts |
GET |
/prompts/{name} |
Fetch a prompt, optionally by label or revision |
POST |
/prompts/{name}/revisions |
Create a revision |
PUT |
/prompts/{name}/labels/{label} |
Move a label to a revision |
Datasets
| Method |
Path |
Description |
GET |
/datasets |
List datasets |
POST |
/datasets |
Create a dataset |
POST |
/datasets/{id}/rows |
Append rows |
POST |
/datasets/{id}/rows/from-trace |
Promote a trace into the dataset |
Evaluations
| Method |
Path |
Description |
POST |
/evals/runs |
Start an eval run |
GET |
/evals/runs/{id} |
Fetch run status and scores |
GET |
/evals/runs/{id}/results |
Per-example results |
Rate limits
| Plan |
Ingest |
Read |
| Free |
100 req/s |
10 req/s |
| Team |
1,000 req/s |
50 req/s |
| Scale |
5,000 req/s |
200 req/s |
| Enterprise |
Negotiated |
Negotiated |
Exceeding a limit returns 429 with a Retry-After header. The SDKs honor it automatically with exponential backoff.
Errors
| Code |
Meaning |
400 |
Malformed request body |
401 |
Missing or invalid API key |
403 |
Key lacks permission for this resource |
404 |
Resource does not exist in this workspace |
422 |
Valid JSON, invalid values |
429 |
Rate limited |
5xx |
Server error, safe to retry with backoff |