Get Label Eligibility
GET/api/fulfillment-orders/:fulfillmentOrder/shippo/eligibility
Reports whether a fulfillment order can buy a Shippo label and returns everything needed to request rates. The Shippo instance and the ship-from address are resolved from the fulfillment order (its Shippo instance and its warehouse's sender-address mapping) — they are never passed by the client. Requires a token with the orders read/write scope.
orders:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Response fields: eligible and can_purchase (eligible, with no live label and no purchase still processing), reason/message when not eligible (no_instance, fulfillment_order_closed, warehouse_unmapped, international, address_incomplete), the resolved instance (integration_instance_id, integration_instance_name, is_test), warehouse_id and warehouse_mapped, mapping_link_path (where to map the warehouse), ship_from and ship_to address summaries, record_shipping_costs, prefilled_parcel (suggested parcel dimensions in inches and weight in pounds, computed from the products' dimensions and weights; null values when unknown), labels already bought for this fulfillment order, has_live_label, has_pending_purchase, default_label_file_type and label_file_types (the available formats).
Always returns 200 for an existing fulfillment order — ineligibility is reported in the body. Returns 404 for an unknown fulfillment order.
Authentication: Requires a Bearer token.
Request
Responses
- 200
- 401
- 403
- 404
- 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
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.