statusCode, message, the path you called, a timestamp, and a
correlationId identifying that exact request. The one exception is 401 — a
missing or invalid key is answered before the request enters the API, so that body
carries only message.
Quote the correlationId when you contact support: it is the fastest way for us to
find what happened on our side. Send your own X-Request-Id and we echo it back
here, provided it is at most 128 characters of letters, digits, ., _ or - —
otherwise we generate one for you.
Validation error
The body failed validation — e.g. missing For a field inside a batch, the message says which entry it was, so you can fix the
record at source:More than ten problems are summarised — the first ten, then
customerIds, empty items, or an
unresolvable postcode. message names every field that is wrong.and N more.Auth failed
The
x-api-key header is missing or invalid. Ensure you’re sending the full
key, not the dzk_live_… prefix shown in the portal.Customer not in your org
One or more
customerIds don’t belong to your organisation. The whole request
is rejected — no partial results.Unknown quote id
GET /v1/org/quote/{quoteId} — no quote with that id.Rate limited
You exceeded your per-minute limit. The seconds to wait are on the See Rate limits.
Retry-After
response header — read them from there, not from the body.An empty
quotes array is not an error — it means nothing matched (e.g.
filters excluded everything, or no rate applies to the lane). Check
noQuoteMessage.
