Skip to content

New paid orders and subscriptions are retired. Existing records, settlement and refunds remain available through your account.

Check Cambridge TCG's paused bulk-catalog boundary

The route is public; catalog rows are not currently published.

The JSONL route returns publication-policy status only. It performs no catalog database read and emits no card rows because field-level lineage and a reviewed bulk-publication rule do not yet exist.

3 min· 3 steps· last verified 2026-07-12

Prerequisites

  • • curl or another HTTP client

Steps

  1. 1

    Read the publication status

    One request returns exactly two JSONL records: a manifest and a footer. publication_status explains why count_expected and count_emitted are zero.

    Run this

    curl -H 'Accept-Encoding: gzip' \
      https://cambridgetcg.com/data/catalog.jsonl \
      > catalog.jsonl

    Expected response shape

    Line 1: { "@kind": "catalog_manifest", "publication_status": "paused_pending_field_level_rights", "count_expected": 0, ... }
    Line 2: { "@kind": "catalog_footer", "publication_status": "paused_pending_field_level_rights", "count_emitted": 0, "complete": false, "catalog_complete": false }

    What to do with it

    Treat zero rows as an intentional publication boundary, not an empty catalog or a transient ingest outage.

  2. 2

    Use a keyed lookup for a specific card

    Search by a concrete identifier, then request one universal-card document. Preserve the response's NOASSERTION and source tiers; do not walk keyed endpoints to recreate a bulk dump.

    Run this

    curl 'https://cambridgetcg.com/api/v1/search/cards?q=OP01-001'

    What to do with it

    Choose a returned SKU and fetch /api/v1/universal/card/[sku] only for the user's requested card.

  3. 3

    Wait for an explicit reopen

    Bulk rows reopen only after field-level lineage and an upstream-aware publication rule ship. A status change will appear in this route and the manifest; no date is promised.

    What to do with it

    Use /api/v1/feedback to describe the exact fields and permitted purpose you need. That evidence can inform the future rights review.

Common gotchas

  • NOASSERTION is not publication permission

    A warning to downstream users cannot create Cambridge's own right to publish upstream bytes. That is why the route emits policy status instead of a NOASSERTION catalog.

  • The response is still JSONL

    Parse the manifest and footer as two separate JSON objects, one per line.

    Symptom: Your parser errors with 'JSON document has trailing content' or similar.

    Fix: In Node: `body.split('\n').filter(Boolean).map(JSON.parse)`. In Python: `[json.loads(line) for line in response.iter_lines() if line]`.

  • Do not recreate the dump by enumeration

    Walking single-card endpoints to reconstruct the paused catalog would bypass the stated purpose and rate limits.

Next guide

Inspect one card's public structural state →

A keyed lookup with an explicit source-rights boundary.

See also