Part of the response of GET /products/{productId}.

Type: object

Example

Schema example: from the GET /products/{productId} response
{
  "lane": "native",
  "productId": 86,
  "sellerId": 42,
  "storeSlug": null,
  "variantId": null,
  "skuId": 14602,
  "sellerName": "Sandbox Cards",
  "condition": "NM",
  "language": "EN",
  "finish": "Normal",
  "isSealed": false,
  "price": 24.99,
  "available": 3,
  "checkoutMode": "express",
  "salesCount": 18,
  "sellerCode": "sandbox-cards",
  "reviewScore": {
    "score": 4.93,
    "count": 15
  },
  "poBoxDelivery": {
    "status": "available"
  },
  "disclosures": {
    "imageSource": "catalog",
    "conditionSource": "seller_declared",
    "authenticitySource": "seller_attestation",
    "snapcasterInspected": false,
    "snapcasterGraded": false,
    "snapcasterAuthenticated": false,
    "gradingStandard": "snapcaster-magic-v1",
    "declaredGrade": "Near Mint",
    "buyerProtection": "magic-grade-and-authenticity"
  },
  "fulfillmentObligation": {
    "sku": "exact",
    "printing": "exact",
    "language": "exact",
    "finish": "exact",
    "condition": "declared-or-better"
  }
}

Fields

lane string required

The source of the offer: native for a marketplace seller's listing, or handoff for a handoff store's synced single. Use this field to choose the cart-line identifiers and determine whether Snapcaster handles the sale.

Constraints: allowed values: native, handoff Example native

productId integer required

See Canonical catalog in Core concepts.

Example 86

sellerId integer or null required

The offering seller id. Combine it with skuId to identify a native cart line. Null for a handoff offer, which has no seller record.

Example 42

storeSlug string or null required

The handoff store’s slug - its stable identity across the cart, the quote and the permalink. null on a native offer.

Example null

variantId integer or null required

The Shopify variant this handoff offer is for; with storeSlug it is the handoff cart-line key. null on a native offer.

Example null

skuId integer required

The canonical TCGplayer SKU id. A native cart line uses sellerId and skuId; a handoff cart line uses storeSlug and variantId.

Example 14602

sellerName string or null required

The display name of the seller or handoff store. Use sellerCode or storeSlug for links and identifiers.

Example Sandbox Cards

condition string or null required

The normalized condition assigned to the card.

Example NM

language string or null required

The language of the card printing.

Example EN

finish string or null required

The physical finish or foil treatment of the card.

Example Normal

isSealed boolean required

True when the canonical SKU condition is Unopened; matches the product grid classification.

Example false

price number required

Offer price in dollars as a decimal amount.

Example 24.99

available integer required

Available stock: on-hand minus committed units.

Example 3

checkoutMode string or null required

Where the buyer checks out: express on Snapcaster, or manual on the seller's own site. Null for a legacy search record indexed before this field existed.

Constraints: allowed values: express, manual, null Example express

salesCount integer or null required

The number of paid orders for an express store, calculated for each request. Zero for a store with no sales. Null for a manual store, whose orders are created outside Snapcaster; omit the sales count from its display.

Example 18

sellerCode string or null required

The store's public handle for links to /marketplace/sellers/{sellerCode}. Read from the database on each request. Null if the store has no directory row; the offer is still returned.

Example sandbox-cards

reviewScore ReviewScore required

The review score and the number of ratings used to calculate it. Display both so readers can judge the sample size. Calculated for each request. A store with no reviews returns { score: null, count: 0 }, as does a manual store, which cannot receive reviews in v1. Used on the seller page and product offers.

Show child fieldsHide child fields
reviewScore.score number or null required

The mean of current, non-hidden ratings, rounded to two decimals. Null when the store has no reviews.

Example 4.93

reviewScore.count integer required

The number of current, non-hidden reviews included in the mean.

Example 15

poBoxDelivery PoBoxDelivery or null required

Whether the store can deliver to PO Boxes. Null for a handoff offer, where Snapcaster does not arrange shipping.

Show child fieldsHide child fields
poBoxDelivery.status string required

available: the store delivers to PO Boxes. seller_declines: the store does not. platform_suspended: PO Box delivery is suspended platform-wide (e.g. a Canada Post strike) and outranks the store’s own setting.

Constraints: allowed values: available, seller_declines, platform_suspended Example available

disclosures ListingDisclosures or null required

Provenance, grading, and authenticity statements shown to the buyer.

Show child fieldsHide child fields
disclosures.imageSource string required

Constraints: allowed values: catalog Example catalog

disclosures.conditionSource string required

Constraints: allowed values: seller_declared Example seller_declared

disclosures.authenticitySource string required

Constraints: allowed values: seller_attestation Example seller_attestation

disclosures.snapcasterInspected boolean required

Constraints: allowed values: false Example false

disclosures.snapcasterGraded boolean required

Constraints: allowed values: false Example false

disclosures.snapcasterAuthenticated boolean required

Constraints: allowed values: false Example false

disclosures.gradingStandard string required

Constraints: allowed values: snapcaster-magic-v1, seller-declared-no-specialist-promise Example snapcaster-magic-v1

disclosures.declaredGrade string or null required

Example Near Mint

disclosures.buyerProtection string required

Constraints: allowed values: magic-grade-and-authenticity, genuine-and-as-described Example magic-grade-and-authenticity

fulfillmentObligation ListingFulfillmentObligation or null required
Show child fieldsHide child fields
fulfillmentObligation.sku string required

The SKU that identifies the card variant.

Constraints: allowed values: exact Example exact

fulfillmentObligation.printing string required

The card printing the seller must supply.

Constraints: allowed values: exact Example exact

fulfillmentObligation.language string required

The language of the card printing.

Constraints: allowed values: exact Example exact

fulfillmentObligation.finish string required

The physical finish or foil treatment of the card.

Constraints: allowed values: exact Example exact

fulfillmentObligation.condition string required

The normalized condition assigned to the card.

Constraints: allowed values: declared-or-better Example declared-or-better

Used by