Download Label
GET/api/shippo/instances/:integration_instance/labels/:label/download
Streams the label document inline for printing or re-printing. It never buys postage again. The document is served from SKU.io's stored copy; if no copy is stored yet it is fetched from Shippo and stored first.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Response: a file, not JSON. Content-Type follows the label format — application/pdf (PDF_4x6, PDF, PDF_A4, PDF_A5, PDF_A6), image/png (PNG) or application/zpl (ZPLII). Content-Disposition is inline with a filename of shippo-label-<tracking number>.<pdf|png|zpl>. Cache-Control is private, no-store.
Shippo failures return 422 with a stable code: invalid_token (Shippo rejected the API token), rate_limited (Shippo is throttling — retry in a minute), api_error (Shippo refused the request; message carries its reason) or unreachable (Shippo could not be reached). A 422 api_error is also returned when Shippo has no document available yet. Returns 404 when the label does not exist or belongs to a different instance.
Authentication: Requires a Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 422
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not Found
Response Headers
Unprocessable Entity
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.