Data API
Authentication
Carbon authenticates Data API requests with a scoped, optionally expiring API key — the same key that unlocks the Carbon API.
Create a key in Settings → API Keys, then send it on every request as a bearer token: Authorization: Bearer <api-key>.
curl '<your-host>/item?limit=1' \
-H "Authorization: Bearer <api-key>"That's the hosted Data API at rest.carbon.ms, which takes the key as a bearer token and forwards it as the carbon-key header internally. If you run Carbon yourself and call PostgREST directly, send carbon-key: crbn_… against /rest/v1/<table> instead.
Creating a key
Choosing New API Key opens a dialog with three fields:
The key is shown only once
Copy the crbn_… token when it is generated — Carbon stores only a hash and cannot show it again. Keep it server-side; it carries every permission you grant. Lost a key? Delete it and create a new one.
Permissions
Each checkbox grants one action on one module. The action maps to the HTTP method of the request:
GETPOSTPATCHDELETEReading from /item, for example, needs Parts → View. A request for an action the key does not hold returns 403. Some modules omit actions they do not support (Accounting has no Delete, shown as --).
Expiration & errors
If a key is past its Expires At date, requests fail with 401 before anything runs. Other authentication failures:
401403429