Skip to main content

Rate Errors

Rate or carrier availability can depend on Shipment details, Account, sub-account, and environment configuration, and provider availability — not on the Order's status (see Get Shipping Rates).

Verified status codes​

SituationStatus
Shipment does not exist for your account404
Invalid request400
Missing or no-longer-usable bearer token401
Shipment exists but lacks the address or parcel data rating needs422
Every carrier attempt failed because the carrier is temporarily unavailable503

Whole-request versus per-carrier failure​

A 200 response can still carry partial failure information: carrierResponses reports one entry per carrier Mailhub attempted, each with its own success/errorCode/errorMessage — one carrier can fail while another still returns usable Rates in the same response. See Get Shipping Rates for the verified response shape.

Recover safely​

Inspect the Shipment identifier, address, and parcel data before trying again — not the Order's status, which has no effect here. Correct client data where needed. A temporary provider problem visible in carrierResponses can be handled with an application-owned bounded reissue policy; the API does not define retry behavior. A 503 says the same thing about the request as a whole: nothing in the request is wrong, so correcting it changes nothing — only retrying later can. No rate-quote time-to-live is part of the current public contract — request fresh Rates rather than assuming a specific expiry window.