Errors
The shape of an error, and what each code means.
Every error has the same shape:
{
"error": {
"code": "invalid_parameter",
"message": "domain: \"not a domain\" isn't a domain.",
"param": "domain"
}
}param names the parameter at fault, when there is one, and suggestion the call to make
instead, when there's a better one. Every answer carries an X-Request-Id: quote it when
you write to us.
| Status | Code | Means |
|---|---|---|
| 400 | invalid_parameter | A parameter isn't valid; param says which |
| 400 | invalid_cursor | A cursor from another search, or made up |
| 401 | missing_api_key, invalid_api_key, key_revoked, key_expired | See keys |
| 402 | out_of_credits, daily_cap_reached | See limits |
| 403 | scope_missing | The key lacks the scope the endpoint needs |
| 404 | not_found | No such endpoint |
| 404 | company_not_found | No record for the domain, or the enrichment found no company |
| 404 | enrichment_not_found, batch_not_found | No such enrichment or batch, or it ended longer ago than we keep them |
| 405 | method_not_allowed | The endpoint doesn't take that method |
| 409 | idempotency_key_reused | The Idempotency-Key came before with another request |
| 409 | webhook_secret_missing | A webhook_url, from a workspace with no signing secret yet |
| 429 | rate_limited, test_calls_used_up, test_webhooks_used_up, too_many_unknown_keys | Slow down; wait Retry-After |
| 500 | internal_error | Something went wrong on our side; quote the X-Request-Id |
| 503 | enrichment_failed | An enrichment failed on our side; it cost nothing |
| 503 | enrichments_unavailable, query_timeout, usage_unavailable, api_keys_unavailable | We can't answer just now; retry after Retry-After |
A finished enrichment that couldn't be done has an error of its own, with one of these
codes: name_ambiguous, name_not_found, invalid_input or enrichment_failed.