Skip to content

Documentation: TCGplayer SKUs finish field is optional, not required #666

@the-muppet

Description

@the-muppet

Documentation Issue: TCGplayer SKUs finish field

Problem

The TCGplayer SKUs data model documentation contains inaccuracies about the finish field.

Documentation Says

The docs state that finish is a required field (not marked as optional):

  • Type: string
  • Example: "FOIL_ETCHED" (with underscore)
  • Introduced: v5.2.0

Actual Data Structure

Based on the actual TcgplayerSkus.json file (v5.2.2+20251001):

Regular cards (no special foiling):

{
  "condition": "NEAR MINT",
  "language": "ENGLISH",
  "printing": "FOIL",
  "productId": 111268,
  "skuId": 3045711
  // No "finish" field
}

Cards with etched foiling (the only special finish found):

{
  "condition": "NEAR MINT",
  "finish": "FOIL ETCHED",    // ← Optional field, with SPACE not underscore
  "language": "ENGLISH",
  "printing": "FOIL",
  "productId": 504636,
  "skuId": 7267191
}

Issues Found

  1. finish is optional, not required - it only appears on cards with special foil treatments
  2. Value format: "FOIL ETCHED" (with space), not "FOIL_ETCHED" (with underscore) as shown in docs
  3. Missing clarification: Docs don't explain when this field is present vs absent

Expected Fix

Update the documentation to:

  1. Mark finish as optional (finish?: string)
  2. Correct the example value to "FOIL ETCHED" (with space)
  3. Add note: "Only present for cards with special foil treatments (e.g., etched foils). Regular foils and non-foils do not have this field."

Impact

This causes confusion when parsing/querying SKU data, as developers expect finish to always be present based on the docs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions