curl https://catchbackcards.com/api/partner/v1/orders/3e1ab17c-e93b-4a4e-b1f6-7b0719882a41 \
-H "Authorization: Bearer $CATCHBACK_KEY"
{
"checkout_id": "3e1ab17c-…",
"order_id": "order-1042",
"type": "pack_purchase",
"status": "completed",
"created_at": "2026-10-20T04:54:57.373+00:00",
"completed_at": "2026-10-20T04:54:58.563+00:00",
"amount": 25,
"fee": 0,
"balance_change": -25,
"reconciled": false,
"pack_type": "bronze",
"quantity": 1,
"pull_ids": ["e9d27918-…"],
"card_id": null,
"listing_id": null,
"transaction_id": null,
"pulls": [
{
"pull_id": "e9d27918-…",
"kind": "card",
"item": {
"id": "e3d7148d-…",
"category": "pokemon",
"name": "Pyroar",
"grading_company": "PSA",
"grading_rank": 10,
"market_value": 20,
"front_image": "https://…"
},
"value": 20,
"hit": { "rarity_tier": "starter", "bucket": "P0", "bucket_odds": 0.72, "is_chase": false, "chase_label": null }
}
],
"item": null,
"payout_rate": null,
"basis_value": null
}
Orders
Get an order
One order by its id, including one that is still running, with every pull or card in it.
GET
/
api
/
partner
/
v1
/
orders
/
{checkout_id}
curl https://catchbackcards.com/api/partner/v1/orders/3e1ab17c-e93b-4a4e-b1f6-7b0719882a41 \
-H "Authorization: Bearer $CATCHBACK_KEY"
{
"checkout_id": "3e1ab17c-…",
"order_id": "order-1042",
"type": "pack_purchase",
"status": "completed",
"created_at": "2026-10-20T04:54:57.373+00:00",
"completed_at": "2026-10-20T04:54:58.563+00:00",
"amount": 25,
"fee": 0,
"balance_change": -25,
"reconciled": false,
"pack_type": "bronze",
"quantity": 1,
"pull_ids": ["e9d27918-…"],
"card_id": null,
"listing_id": null,
"transaction_id": null,
"pulls": [
{
"pull_id": "e9d27918-…",
"kind": "card",
"item": {
"id": "e3d7148d-…",
"category": "pokemon",
"name": "Pyroar",
"grading_company": "PSA",
"grading_rank": 10,
"market_value": 20,
"front_image": "https://…"
},
"value": 20,
"hit": { "rarity_tier": "starter", "bucket": "P0", "bucket_odds": 0.72, "is_chase": false, "chase_label": null }
}
],
"item": null,
"payout_rate": null,
"basis_value": null
}
Scope:
A pull here has no
read:account · MCP tool: get_order
One order on your account, with the same fields as in List orders plus what it contains: a pack purchase’s pulls, or the card for any other order.
It answers while an order is still running. After a timeout, or a 409 IDEMPOTENCY_IN_PROGRESS that carries the order’s checkout_id, follow the order here rather than resending it in a tight loop: it shows pending until the order completes or we close it, and a pack order’s pulls as soon as they have landed. An order held for review stays pending until we settle it. Settling removes it, so this then answers 404 and the order id is free to send again: check your balance before you do. See Idempotency.
string
required
The
checkout_id that Buy packs or Buy a card returned, the transaction_id of a sell-back, or any order’s checkout_id from List orders. A UUID.Response
Every field of an order in List orders, plus:object[]
A pack purchase’s pulls, in order. Empty for any other order.
Show pull
Show pull
string
string | null
card, or sealed_pack for a sealed product (a pull from the Starter or a sealed mystery pack, or a consolation pull). null if we can’t find the pull.object | null
The card as it is now: a card object, with today’s images and market value. A sealed pack is
{ id, name, set, category, image_url }. null if we can’t load it.number | null
Market value at the moment of the pull.
object | null
rarity_tier, bucket, bucket_odds, is_chase and chase_label, as the purchase returned them. null while the order is still running, and for an order we closed after its response was lost.object | null
The card, for a card buy, a sell-back or a sale: a card object as it is now.
null for a pack purchase, or if we can’t load the card.number | null
Sell-backs only: the rate the sell-back paid at.
number | null
Sell-backs only: the value the payout was based on.
catchback offer and no proof. For a card’s offer right now, read Get vault. To check a pull, see Verify a pull.
Errors
| Status | When |
|---|---|
403 | The key lacks read:account or isn’t linked to an account |
404 | No order with this id on your account. An unknown id, a malformed one, another account’s order and a held order we’ve since settled all look the same |
500 | We couldn’t load the order. Retry with backoff |
curl https://catchbackcards.com/api/partner/v1/orders/3e1ab17c-e93b-4a4e-b1f6-7b0719882a41 \
-H "Authorization: Bearer $CATCHBACK_KEY"
{
"checkout_id": "3e1ab17c-…",
"order_id": "order-1042",
"type": "pack_purchase",
"status": "completed",
"created_at": "2026-10-20T04:54:57.373+00:00",
"completed_at": "2026-10-20T04:54:58.563+00:00",
"amount": 25,
"fee": 0,
"balance_change": -25,
"reconciled": false,
"pack_type": "bronze",
"quantity": 1,
"pull_ids": ["e9d27918-…"],
"card_id": null,
"listing_id": null,
"transaction_id": null,
"pulls": [
{
"pull_id": "e9d27918-…",
"kind": "card",
"item": {
"id": "e3d7148d-…",
"category": "pokemon",
"name": "Pyroar",
"grading_company": "PSA",
"grading_rank": 10,
"market_value": 20,
"front_image": "https://…"
},
"value": 20,
"hit": { "rarity_tier": "starter", "bucket": "P0", "bucket_odds": 0.72, "is_chase": false, "chase_label": null }
}
],
"item": null,
"payout_rate": null,
"basis_value": null
}

