Skip to main content
GET
/
api
/
v1
/
ship
/
order
/
:order_id
Get shipping order
curl --request GET \
  --url https://api.example.com/api/v1/ship/order/:order_id
{
  "order_id": "order_123",
  "status": "shipped",
  "carrier": "USPS",
  "service": "Priority Mail",
  "tracking_number": "9400111899223344556677",
  "tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223344556677",
  "amount": 9.75,
  "currency": "USD",
  "destination": {
    "name": "Jane Doe",
    "line1": "123 Main St",
    "line2": "Apt 4B",
    "city": "Austin",
    "state": "TX",
    "postal_code": "78701",
    "country": "US"
  },
  "items": [
    {
      "item_id": "item_id_1",
      "name": "Juan Soto RC Auto /25",
      "image": "https://cdn.phygitals.com/cards/soto-rc-auto.png",
      "back_image": "https://cdn.phygitals.com/cards/soto-rc-auto-back.png"
    },
    {
      "item_id": "item_id_2",
      "name": "Mike Trout Base",
      "image": "https://cdn.phygitals.com/cards/trout-base.png",
      "back_image": null
    }
  ],
  "created_at": "2026-04-18T19:05:14.000Z",
  "shipped_at": "2026-04-19T15:30:00.000Z",
  "delivered_at": null,
  "error_message": null
}
Returns the full details of a shipping order created via /api/v1/ship/request. Use this to poll for status updates, retrieve tracking info, and reconcile billing.

Path parameters

order_id
string
required
The order_id returned by /api/v1/ship/request.

Example request

GET /api/v1/ship/order/order_123
X-API-Key: <your_api_key>

Response

{
  "order_id": "order_123",
  "status": "shipped",
  "carrier": "USPS",
  "service": "Priority Mail",
  "tracking_number": "9400111899223344556677",
  "tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223344556677",
  "amount": 9.75,
  "currency": "USD",
  "destination": {
    "name": "Jane Doe",
    "line1": "123 Main St",
    "line2": "Apt 4B",
    "city": "Austin",
    "state": "TX",
    "postal_code": "78701",
    "country": "US"
  },
  "items": [
    {
      "item_id": "item_id_1",
      "name": "Juan Soto RC Auto /25",
      "image": "https://cdn.phygitals.com/cards/soto-rc-auto.png",
      "back_image": "https://cdn.phygitals.com/cards/soto-rc-auto-back.png"
    },
    {
      "item_id": "item_id_2",
      "name": "Mike Trout Base",
      "image": "https://cdn.phygitals.com/cards/trout-base.png",
      "back_image": null
    }
  ],
  "created_at": "2026-04-18T19:05:14.000Z",
  "shipped_at": "2026-04-19T15:30:00.000Z",
  "delivered_at": null,
  "error_message": null
}
order_id
string
Order identifier.
status
string
One of: queued, processing, label_created, shipped, delivered, cancelled, failed. In sandbox, the only status ever returned is queued. Production cycles through the full set above.
tracking_number
string | null
Carrier tracking number. null until a label is created.
tracking_url
string | null
Carrier tracking URL. null until a label is created.
amount
number
Shipping cost in USD. Billed B2B to the partner.
items
array
Items included in this shipment. Each entry includes item_id, name, image, and back_image (or null when not available).
shipped_at
string | null
ISO timestamp when the shipment left fulfillment. null until reached.
delivered_at
string | null
ISO timestamp when the shipment was delivered. null until reached.
error_message
string | null
Populated if status is failed or cancelled.
destination
object
Echoes back exactly what was submitted to /api/v1/ship/quote. Sandbox does not normalize keys. If a partner submitted zip instead of postal_code, it round-trips as zip. Production may normalize.

Errors

StatusBodyCause
404{ "error": "Order not found" }Unknown order_id or order does not belong to this partner
500{ "error": "An unexpected error occurred" }Internal server error