Error Codes
Every non-2xx response from the Bead API returns a standard JSON error object. Use the HTTP status code for high-level handling (retry vs. fix request) and the error
string for granular logic.
Error Object Shape
{
"code": 400,
"error": "invalid_request",
"message": "Missing required field address",
"details": [
{ "field": "address", "issue": "required" }
]
}
code
integer
Mirrors the HTTP status
error
string
Machine-readable error key
message
string
Human-readable explanation
details
array
Optional list of field issues; present on validation failures
Standard Error Catalogue
HTTP
error
key
When it happens
Retry?
400
invalid_request
Malformed JSON or missing top-level fields
✘
400
validation_error
Field-level problems (see details
)
✘
401
invalid_client
Bad client_id
/ client_secret
✘
401
invalid_grant
Wrong username or password
✘
401
unauthorized
Token missing or expired
Obtain new token
403
insufficient_scope
Token lacks required scope
✘
403
forbidden
Auth OK but caller not allowed on this resource
✘
404
not_found
Resource ID doesn’t exist or not visible
✘
409
conflict
Duplicate operation (e.g., same name)
✘
422
unprocessable_entity
Business rule violated (e.g., delete in-use location)
✘
429
rate_limit_exceeded
Quota exhausted; see X-RateLimit-Reset
✔︎ after back-off
500
internal_error
Unexpected server fault
✔︎ with exponential back-off
503
service_unavailable
Maintenance or downstream outage
✔︎ after Retry-After
Validation Error details
details
Each entry in details
has:
{ "field": "tenderTypes[0]", "issue": "unsupported_value" }
required
Field missing
invalid_format
Wrong data type or regex mismatch
unsupported_value
Value outside allowed enum
too_long
/ too_short
String length limits
out_of_range
Numeric bounds violated
Retry guidance quick-chart
Caller fix
400, 401, 403, 404, 409, 422
Correct request before retrying
Back-off then retry
429, 500, 503
Exponential back-off; obey Retry-After
when present
Integrations should log both the HTTP status and error
key to ease troubleshooting and monitoring.
Last updated