Skip to main content

Typical flow

1. POST /integrations/public-api/v1/rate → save requestId + pick rateResponseId from rates[]
2. POST /integrations/public-api/v1/ship/{rateResponseId} → orderId, trackingNumber, metadata.labels (check data.status)
3. GET /integrations/public-api/v1/labels/{orderId} → optional: refresh available[] if labels omitted on ship
4. GET /integrations/public-api/v1/labels/{orderId}/{code} → 302 → download label file (repeat per type)
5. GET /integrations/public-api/v1/track/{orderId} → transitStatus, updated
6. DELETE /integrations/public-api/v1/shipments/{orderId} → optional: cancel shipment (check data.status)