Kairos Archive

Identifiers

Two IDs that never change. Everything else is data that can.

The official card API identifies cards by slug, and slugs have changed for entire sets. Its internal ids are regenerated on re-import. The registry exists to fix that: it gives every card and every printing an ID that is never changed, reused or removed.

The two IDs

codex_id
C000139: one card, across every reprint. Alpha, Beta and promo copies of Apprentice Wizard all share one codex_id. Gameplay data (rules text, cost, attack, defense, power, life, thresholds, keywords) lives here and applies to every printing.
printing_id
P000937: one physical print, a specific set, product and finish. Physical facts (set, product, finish, slug, artist, flavour text, release date, image) live here.

Both are a letter and six digits, and both are permanent. If your feature cares which exact piece of cardboard it is, store the printing_id. If any copy of the card would do, store the codex_id.

Things that look like IDs but are not

  • Slugs (004-witch-b-s) are the official API's lookup keys. They are mutable and carry no collector number. Never store one as a foreign key. If you have slugs, resolve each through slugs/{slug}.json once, store the IDs, and the next renaming costs you nothing. Every slug ever issued still resolves.
  • Names change. The registry records every name a card has had in name_history, but the name on a record is the current one.
  • Set codes (001 Alpha, 002 Beta, 006 Gothic) are labels, not an order: 003 is unused. They are published exactly as the publisher states them.
  • Set names, product names and card names are plain data columns.

Records tell you where they live

Cards, printings and sets carry api_url, their own JSON file on the API, and kairos_url, their page on this site. Both are derived from the ID at export time, so they can never point at a different record.

Retired printings keep their IDs

When a printing disappears from the official API, the registry keeps its record and marks retired_at with the date. Old references never dangle. Cards are never removed at all.

A quick way to jump

On this site, typing an ID or a slug into the search box opens that record directly. On the API, cards/{codex_id}.json and printings/{printing_id}.json are the addresses.


Reference: registry API contract and published object definitions. Report a data or documentation issue.