Reference
Errors
Every error is JSON with one envelope. code is stable and machine-readable; message explains what to fix.
error envelope
{
"error": {
"code": "rate_limited",
"message": "Daily limit of 50000 requests reached. The window resets at midnight UTC."
}
}| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | A parameter is missing, out of range, malformed, or unknown. v1.1 list endpoints reject parameters they don't recognize — the message names the offender. |
| 401 | unauthorized | Missing, unknown, or revoked API key. |
| 404 | not_found | No record behind that identifier (CAMIS, BBL, or slug). |
| 429 | rate_limited | Your commissioned daily limit is exhausted (resets midnight UTC) — or, on the shared playground key, the per-IP cap. |
| 500 | internal | Our fault. Safe to retry with backoff. |
Batch endpoints don't error on unknown ids — misses come back in meta.notFound so one bad id never fails the whole sweep.