Getting started
Authentication, keys, and your first request.
Request access
API keys are issued on request during the private preview. Email hello@civimatica.com with your use case and we will provision keys for your organisation.
Two key types:
| Key | Prefix | Scope |
|---|---|---|
| Sandbox | cv_test_ | Sandbox datasets and test corridors |
| Live | cv_live_ | Production corridors and devices |
Authentication
Send your key as a bearer token on every request:
curl -H "Authorization: Bearer cv_test_..." \
"https://api.civimatica.com/v1/occupancy?corridor_id=crd_8f3a2c"Keys identify your organisation and the corridors you have access to. Keep them server-side; never ship them in client code.
Versioning
The API is versioned in the path: /v1. Breaking changes ship under a new
version; the current version keeps working during the deprecation window.
Responses
List endpoints return an envelope:
{
"data": [ ... ],
"next_cursor": "eyJsYXN0X2lkIjoi..."
}Pass next_cursor as the cursor parameter to fetch the next page. It is
null on the last page.
Errors
Errors return a consistent object:
{
"error": {
"code": "invalid_bbox",
"message": "bbox must be minLng,minLat,maxLng,maxLat",
"request_id": "req_9f1ab2"
}
}| Status | Meaning |
|---|---|
400 | Invalid parameters — check error.code |
401 | Missing or invalid key |
404 | Resource does not exist or is outside your corridors |
429 | Rate limited — retry after error.retry_after seconds |
Rate limits
Default limits per key: 60 requests/minute and 10,000 requests/day. Contact us if your workload needs more.