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.