Errors
Errors are RFC 9457 problem documents with content-type: application/problem+json:
{ "type": "https://docs.kcalbase.com/problems/quota-exceeded", "title": "Quota exceeded", "status": 429, "detail": "Monthly quota of 5000 requests used; resets 2026-10-01T00:00:00.000Z", "instance": "3f4c...request id" }
| Status | Type | When |
|---|---|---|
| 400 | bad-request | Unknown parameter, empty or overlong q, non-GTIN barcode, more than 50 lookup items. |
| 400 | key-in-query | Key sent in the URL. |
| 400 | bad-cursor | Cursor malformed or from another query. |
| 401 | key-missing | No bearer header. |
| 401 | key-invalid | Unknown key. |
| 401 | key-revoked | Revoked key. |
| 404 | not-found | No such food or route. |
| 429 | rate-limited | Per-second limit; honour Retry-After. |
| 429 | quota-exceeded | Monthly quota; see X-Kcalbase-Quota-Reset. |
| 500 | internal | Our fault; quote instance. |
type URLs are stable and resolve to a page like the ones linked above.