List your sales

​

Returns your sales — orders where you are the seller — as a cursor-paginated list, newest first.

Each item carries the order, its items and totals, the buyer you sold to — their handle, country, review score, and recent order-handling stats — and the address to ship to, so a batch of parcels can be prepared from one call.

Filter with status (repeatable), the placedFrom / placedTo date range, and your own metadata — ?metadata[fulfillment_stage]=packed returns the sales carrying exactly that pair, and repeating the parameter with another key requires all of them. needsAction=true returns the sales waiting on you, dispute the sales with a dispute, buyer the sales to a buyer by username, and orderNumberPrefix the sales whose number starts with the text. shipByBefore and shipByAfter bound the ship-by deadline of sales awaiting dispatch, and sort=shipBy lists those sales earliest deadline first.

Walk the full set by following pagination.nextCursor: pass it back as cursor, with the same filters and sort, until it comes back null. limit defaults to 50, maximum 100. Send includeTotal=true on the first page to get the exact pagination.total.

Each sale carries webUrl (its page on cardnexus.com), shipBy and actions, the operations you can run on it now.

Requires the sales:read scope.

Query Parameters

  • Integer numbers.

  • Filter to orders in any of these statuses. Repeat the parameter for multiple values, e.g. ?status=shipped&status=delivered.

  • An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

  • An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

  • Adds pagination.total, the exact number of orders matching the filters, to a request that sends no cursor. Counting costs one extra query; leave it off when you only page through.

  • true returns only orders that need your action: for sales pending_shipment, cancellation_requested and dispute_open; for purchases shipped, delivered and dispute_open.

  • Only orders with a dispute: open is dispute_open, escalated is dispute_escalated, resolved is the five resolved_* statuses, any is all seven. Combines with status.

    values
    • any

      Orders with a dispute in any state: the seven dispute statuses.

    • open

      Orders in dispute_open.

    • escalated

      Orders in dispute_escalated.

    • resolved

      Orders in one of the five resolved_* statuses.

  • An ISO 8601 date-time in UTC, e.g. 2024-08-14T10:23:11.000Z.

  • Only orders whose number starts with this text, at least 2 characters. Case-insensitive.

  • Return only sales whose metadata matches every one of these key/value pairs exactly, e.g. ?metadata[fulfillment_stage]=packed. Repeat the parameter with a different key to require several, up to 10 per call. Matching is case-sensitive and exact — there is no partial or prefix match.

  • Only orders still awaiting dispatch (pending_shipment) whose shipBy deadline is after this instant.

  • Only sales to buyers whose username contains this text, at least 2 characters. Case-insensitive, among your own sales.

  • newest (default) returns the latest sales first. shipBy returns only sales awaiting dispatch, earliest deadline first.

    values
    • newest

      Latest sales first.

    • shipBy

      Only sales awaiting dispatch, earliest shipBy deadline first.

Responses

  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/sales
curl 'https://public-api.cardnexus.com/v1/sales?limit=50&includeTotal=false&dispute=any&metadata%5Bfulfillment_stage%5D=packed&sort=newest' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "data": [
    {
      "orderNumber": "OR-ASNBC-1",
      "status": "shipped",
      "placedAt": "2026-06-13T15:02:00.000Z",
      "updatedAt": "2026-06-14T09:12:00.000Z",
      "shippedAt": "2026-06-14T09:12:00.000Z",
      "deliveredAt": null,
      "completedAt": null,
      "webUrl": "https://cardnexus.com/orders/OR-ASNBC-1",
      "shipBy": null,
      "currency": "EUR",
      "items": [
        {
          "productId": 50212,
          "productName": "Dark Magician (SDMY-EN001)",
          "imageUrl": "https://images.cardnexus.com/yugioh/SDMY-EN001.png",
          "condition": "NM",
          "language": "en",
          "finish": "Standard",
          "graded": null,
          "quantity": 2,
          "unitPrice": {
            "amount": 4.5,
            "currency": "EUR"
          },
          "lineTotal": {
            "amount": 9,
            "currency": "EUR"
          },
          "inventoryId": "665f3a2b1c8d4e9f7a6b5c4d",
          "customId": "YRG|5555-5DS1-2EX-006-f-2-2008-08-01"
        }
      ],
      "subtotal": {
        "amount": 9,
        "currency": "EUR"
      },
      "shippingAmount": {
        "amount": 3.5,
        "currency": "EUR"
      },
      "shippingManagedByCardNexus": false,
      "sellerFee": {
        "percentage": 5,
        "amount": {
          "amount": 0.45,
          "currency": "EUR"
        }
      },
      "payout": {
        "amount": {
          "amount": 12.05,
          "currency": "EUR"
        },
        "eligibleAt": "2026-06-21T09:12:00.000Z",
        "paidOutAt": null
      },
      "refunded": {
        "amount": 0,
        "currency": "EUR"
      },
      "buyer": {
        "id": "665f3a2b1c8d4e9f7a6b5c4d",
        "username": "north_arena_tcg",
        "avatarUrl": "https://images.cardnexus.com/avatars/north_arena_tcg.png",
        "country": "GB",
        "type": "individual",
        "rating": {
          "average": 4.9,
          "count": 51
        },
        "reliability": null
      },
      "shippingAddress": {
        "recipientName": "Marie Dubois",
        "line1": "14 Rue des Lilas",
        "line2": null,
        "city": "Lyon",
        "state": null,
        "postalCode": "69003",
        "countryCode": "FR",
        "phone": null
      },
      "metadata": {
        "fulfillment_stage": "packed",
        "internal_order_ref": "SO-10432"
      },
      "labelState": null,
      "actions": [
        {
          "id": "update-tracking",
          "method": "POST",
          "path": "/v1/sales/OR-ASNBC-1/tracking"
        }
      ]
    }
  ],
  "pagination": {
    "nextCursor": "eyJ2IjoxLCJoIjoiM2Y5YTFjN2QyYjhlNGE2MCIsInQiOiIyMDI2LTA2LTEzVDE1OjAyOjAwLjAwMDAwMFoiLCJkIjoiNjY1ZjNhMmIxYzhkNGU5ZjdhNmI1YzRkIiwiaSI6MTc4MTM2MjkyMH0"
  }
}