Inventory API

Manage your store's inventory programmatically. Sync your entire catalog or make incremental updates as stock levels change.

Overview

The Inventory API provides two main workflows:

  • Full Sync - Push your complete inventory in a single request. Ideal for initial setup or periodic reconciliation.
  • Incremental Updates - Update individual listings in real-time as they change. Best for maintaining live sync.

Product Matching

When syncing inventory, you can identify products using any of these external IDs:

FieldSourceExample
tcgplayerIdTCGPlayer"12345"
scryfallIdScryfall (MTG)"abc-123-def"
cardmarketIdCardmarket"67890"
cardtraderIdCardtrader"11111"
ctcgxProductIdCTCGX Native ID"clxxx..."

You can include multiple external IDs per item. The API will match to the first product found.

Card Variants

The same card (same external ID) can have multiple listings with different variants. Each unique combination of variant fields creates a separate listing.

// Same card, three separate listings
{
  "items": [
    {
      "tcgplayerId": "12345",
      "quantity": 4,
      "price": 599,
      "condition": "NM",
      "finish": "nonfoil"
    },
    {
      "tcgplayerId": "12345",
      "quantity": 2,
      "price": 1299,
      "condition": "NM",
      "finish": "foil"
    },
    {
      "tcgplayerId": "12345",
      "quantity": 1,
      "price": 50000,
      "condition": "NM",
      "isGraded": true,
      "gradingCompany": "PSA",
      "grade": "10",
      "certNumber": "12345678"
    }
  ]
}

Listing Fields

Each inventory item supports the following fields:

FieldTypeRequiredDescription
quantitynumberRequiredNumber in stock (0 to remove)
pricenumberRequiredPrice in cents (CAD)
Variant Fields (create separate listings)
conditionstringOptionalNM, LP, MP, HP, DMG
finishstringOptionalnonfoil, foil, etched, reverse-holo, etc.
languagestringOptionalEnglish, Japanese, German, French, etc.
editionstringOptional1st Edition, Unlimited, Shadowless, etc.
Graded Card Fields
isGradedbooleanOptionalWhether professionally graded
gradingCompanystringOptionalPSA, BGS, CGC, SGC, etc.
gradestringOptional10, 9.5, 9, 8.5, etc.
certNumberstringOptionalGrading certificate number
Special Card Fields
isSignedbooleanOptionalWhether the card is signed
signedBystringOptionalArtist name, player name, etc.
isErrorbooleanOptionalWhether it's an error/misprint card
errorTypestringOptionalType of error (miscut, misprint, etc.)

API Playground

Select an endpoint from the documentation to try it out here.