> ## Documentation Index
> Fetch the complete documentation index at: https://catchbackcards.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get an order

> **Scope:** `read:account` (needs a linked account).

One order on your account, with what it contains: a pack purchase's pulls, or the card for any other order. It answers while an order is still running, so after a timeout, a `409 IDEMPOTENCY_IN_PROGRESS` or a `PAYMENT_OUTCOME_UNKNOWN`, follow the order here rather than resending it. A pull here has no `catchback` offer and no `proof`.



## OpenAPI

````yaml /partner-api/openapi.yaml get /api/partner/v1/orders/{checkout_id}
openapi: 3.1.0
info:
  title: CatchBack Partner API
  version: 1.0.0
  summary: Open packs, trade cards, read card data and ship vaulted cards.
  description: >-
    The Partner API acts on one CatchBack account with its real CatchCoins
    balance. Several

    operations here move money or data, so read
    [Idempotency](/partner-api/idempotency) before

    you call them.


    Error bodies are JSON with a human-readable `error` and, where you might
    branch on it, a

    machine-readable `code`. Branch on the status and the `code`, because the
    `error` text can

    change. New fields can be added to any response.
  contact:
    name: CatchBack support
    email: catchbackcards@gmail.com
servers:
  - url: https://catchbackcards.com
    description: Production. Every call acts on real money and real inventory.
security:
  - bearerAuth: []
tags:
  - name: Gacha
    description: Open packs, see what they can pull, check a pull, and sell cards back.
  - name: Marketplace
    description: Search and buy cards, and manage your own listings.
  - name: Metadata
    description: Look cards up by id or cert, with price history and recent activity.
  - name: Shipping
    description: Estimate, create and track shipments of cards you hold.
  - name: Account
    description: Your key, balance, limits, vault and order history, across every rail.
  - name: Funding
    description: Deposit and withdraw your balance in USDC.
  - name: Testing
    description: Test logins for trying CatchBack without real money.
  - name: Webhooks
    description: Signed POSTs we send to your URL when something happens on your account.
paths:
  /api/partner/v1/orders/{checkout_id}:
    get:
      tags:
        - Account
      summary: Get an order
      description: >-
        **Scope:** `read:account` (needs a linked account).


        One order on your account, with what it contains: a pack purchase's
        pulls, or the card for any other order. It answers while an order is
        still running, so after a timeout, a `409 IDEMPOTENCY_IN_PROGRESS` or a
        `PAYMENT_OUTCOME_UNKNOWN`, follow the order here rather than resending
        it. A pull here has no `catchback` offer and no `proof`.
      operationId: getOrder
      parameters:
        - name: checkout_id
          in: path
          required: true
          description: >-
            The `checkout_id` Buy packs or Buy a card returned, the
            `transaction_id` of a sell-back, or any order's `checkout_id` from
            List orders.
          schema:
            type: string
            format: uuid
          example: 3e1ab17c-e93b-4a4e-b1f6-7b0719882a41
      responses:
        '200':
          description: The order.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderDetail'
              example:
                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
                      set: Pokemon Xy2-Flashfire
                      grading_company: PSA
                      grading_rank: 10
                      slab_label: 2014 Flashfire Pyroar
                      language: english
                      cert_number: '84512377'
                      market_value: 20
                      front_image: https://…/e3d7148d-….png
                      back_image: https://…/e3d7148d-…-back.png
                      render_image: https://…/e3d7148d-…-render.png
                      image_url: https://…/e3d7148d-…-render.png
                    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
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: The key lacks `read:account` or isn't linked to an account.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: >-
            No order with this id on your account. An unknown id, a malformed
            one and another account's order all look the same.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: Order not found
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - bearerAuth:
            - read:account
components:
  schemas:
    OrderDetail:
      allOf:
        - $ref: '#/components/schemas/Order'
        - type: object
          required:
            - pulls
            - item
            - payout_rate
            - basis_value
          properties:
            pulls:
              type: array
              description: A pack purchase's pulls. Empty for any other order.
              items:
                type: object
                required:
                  - pull_id
                  - kind
                  - item
                  - value
                  - hit
                properties:
                  pull_id:
                    type: string
                  kind:
                    type:
                      - string
                      - 'null'
                    enum:
                      - card
                      - sealed_pack
                      - null
                  item:
                    description: >-
                      The card as it is now, a sealed pack, or `null` if we
                      can't load it.
                    anyOf:
                      - $ref: '#/components/schemas/Card'
                      - $ref: '#/components/schemas/SealedPackItem'
                      - type: 'null'
                  value:
                    type:
                      - number
                      - 'null'
                    description: Market value at the pull.
                  hit:
                    anyOf:
                      - $ref: '#/components/schemas/PullHit'
                      - type: 'null'
            item:
              description: The card, for a card buy, a sell-back or a sale.
              anyOf:
                - $ref: '#/components/schemas/Card'
                - type: 'null'
            payout_rate:
              type:
                - number
                - 'null'
              description: Sell-backs only.
            basis_value:
              type:
                - number
                - 'null'
              description: Sell-backs only.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: >-
            For people. The text can change, so branch on the status and the
            `code`.
        code:
          type: string
          description: Machine-readable, where you might branch on it.
    Order:
      type: object
      required:
        - checkout_id
        - order_id
        - type
        - status
        - created_at
        - completed_at
        - amount
        - fee
        - balance_change
        - reconciled
        - pack_type
        - quantity
        - pull_ids
        - card_id
        - listing_id
        - transaction_id
      properties:
        checkout_id:
          type: string
          description: The order's id. Get an order takes it.
        order_id:
          type:
            - string
            - 'null'
          description: >-
            The `Idempotency-Key` you sent with a purchase. `null` for a
            sell-back or a sale.
        type:
          $ref: '#/components/schemas/OrderType'
        status:
          type: string
          description: >-
            `completed`, or `pending` while a purchase is still running or held
            for review. New values can be added, so don't fail on one you don't
            know.
        created_at:
          type: string
        completed_at:
          type:
            - string
            - 'null'
        amount:
          type:
            - number
            - 'null'
          description: >-
            What a purchase charged (a card buy includes its $1 fee), what a
            sell-back paid, or what a listing sold for, in USD.
        fee:
          type:
            - number
            - 'null'
          description: >-
            The $1 buyer fee on a card buy or the $1 seller fee on a sale. `0`
            otherwise.
        balance_change:
          type:
            - number
            - 'null'
          description: >-
            The order's effect on your balance. `null` until something shows the
            order was charged.
        reconciled:
          type: boolean
          description: >-
            The order went through but its response was lost, and we closed it
            from our own records.
        pack_type:
          type:
            - string
            - 'null'
        quantity:
          type:
            - integer
            - 'null'
        pull_ids:
          type: array
          items:
            type: string
        card_id:
          type:
            - string
            - 'null'
        listing_id:
          type:
            - string
            - 'null'
        transaction_id:
          type:
            - string
            - 'null'
          description: For a card buy, the `purchase_id` that Get vault and Sell back use.
    Card:
      type: object
      description: >-
        The [card object](/partner-api/card-object). Other fields appear only on
        the catalogs that have them.
      required:
        - id
        - category
        - name
        - set
        - grading_company
        - grading_rank
        - slab_label
        - language
        - market_value
        - cert_number
        - front_image
        - back_image
        - render_image
        - image_url
      properties:
        id:
          type: string
          description: The card's id.
        category:
          $ref: '#/components/schemas/CardCategory'
        name:
          type:
            - string
            - 'null'
        set:
          type:
            - string
            - 'null'
        year:
          type:
            - string
            - 'null'
        number:
          type:
            - string
            - 'null'
        variant:
          type:
            - string
            - 'null'
        rarity:
          type:
            - string
            - 'null'
          description: Printed rarity.
        card_type:
          type:
            - string
            - 'null'
        language:
          type:
            - string
            - 'null'
        slab_label:
          type:
            - string
            - 'null'
          description: The text on the grading label.
        grading_company:
          type:
            - string
            - 'null'
        grading_rank:
          type:
            - number
            - 'null'
          description: The grade.
        cert_number:
          type:
            - string
            - 'null'
          description: The grading company's certificate number.
        card_condition:
          type:
            - string
            - 'null'
        market_value:
          type: number
          description: Our current market valuation in USD. `0` when we have no valuation.
        price:
          type:
            - number
            - 'null'
          description: The shop sale price in USD.
        market_value_last_updated:
          type:
            - string
            - 'null'
        front_image:
          type:
            - string
            - 'null'
        back_image:
          type:
            - string
            - 'null'
        render_image:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
          description: '`render_image`, or `front_image` when there is no render.'
        sport:
          type:
            - string
            - 'null'
        player_name:
          type:
            - string
            - 'null'
        team:
          type:
            - string
            - 'null'
        manufacturer:
          type:
            - string
            - 'null'
        parallel:
          type:
            - string
            - 'null'
        is_rookie:
          type:
            - boolean
            - 'null'
        is_autograph:
          type:
            - boolean
            - 'null'
        is_memorabilia:
          type:
            - boolean
            - 'null'
        serial_numbered:
          type:
            - string
            - 'null'
        brand:
          type:
            - string
            - 'null'
        reference_number:
          type:
            - string
            - 'null'
        video_url:
          type:
            - string
            - 'null'
        condition:
          type:
            - string
            - 'null'
        size:
          type:
            - string
            - 'null'
        description:
          type:
            - string
            - 'null'
        attributes:
          type:
            - object
            - 'null'
          description: Luxury goods only. Key-value details that vary by item.
          additionalProperties: true
    SealedPackItem:
      type: object
      title: Sealed pack
      properties:
        id:
          type:
            - string
            - integer
            - 'null'
          description: A sealed product's id is a number.
        name:
          type:
            - string
            - 'null'
        set:
          type:
            - string
            - 'null'
        category:
          type:
            - string
            - 'null'
        image_url:
          type:
            - string
            - 'null'
    PullHit:
      type: object
      description: The band, odds and chase the pull hit.
      properties:
        rarity_tier:
          type:
            - string
            - 'null'
        bucket:
          type:
            - string
            - 'null'
        bucket_odds:
          type:
            - number
            - 'null'
        is_chase:
          type: boolean
        chase_label:
          type:
            - string
            - 'null'
    OrderType:
      type: string
      enum:
        - pack_purchase
        - card_purchase
        - sell_back
        - listing_sale
    CardCategory:
      type: string
      description: A card's catalog. `goods` is luxury goods and `singles` is raw singles.
      enum:
        - pokemon
        - onepiece
        - sports
        - riftbound
        - watches
        - goods
        - singles
  responses:
    Unauthorized:
      description: A missing, malformed, disabled or unknown API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: Missing or malformed API key
    ServerError:
      description: An error on our side. Retry with backoff.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: cb_live_<48 hex>
      description: >-
        Your API key, sent as a bearer token. Keep it on your server. See
        [Authentication](/partner-api/authentication). A request from a location
        we refuse gets a `403` with `Access denied`, whether or not it has a
        valid key: [where you can call
        from](/partner-api/errors-and-limits#where-you-can-call-from).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.