Machine-readable recovery

Adi Shipping API error model

Every API failure is a typed JSON problem with a stable code and recovery hint.

RFC 9457 problem document

Failures return a non-2xx status and application/problem+json. Standard fields are type, title, status, detail, and instance. Adi Shipping adds code and resolution for deterministic recovery.

{
  "type": "https://adi-shipping.com/developers/errors/#invalid_reference",
  "title": "Enter a valid shipment reference.",
  "status": 400,
  "detail": "Enter a valid shipment reference.",
  "instance": "/api/v1/tracking.php",
  "code": "invalid_reference",
  "resolution": "Use a known ZIM reference and try again."
}

Stable codes

Rate-limit recovery

Read RateLimit-Policy and RateLimit. Compatibility fields are also returned. A 429 includes Retry-After.