rulings array. Most have zero entries; a few well-traveled cards have a half-dozen.
The shape
Fields
| Field | Type | Meaning |
|---|---|---|
id | string | Stable identifier (rul-N). Use this to reference a ruling. |
date | string | ISO date the ruling was issued. |
text | string | The ruling itself. Plain prose, sometimes referencing other Cards by name. |
How rulings work
- Rulings do not modify the Card’s
effectsarray. The printed text is still the printed text; the ruling is an external clarification. - Rulings are cumulative. A new ruling doesn’t supersede an older one unless explicitly stated. Display them all, ordered by date.
- Rulings don’t have format scope today. A ruling on a Card applies in every format. If that ever changes, the field will become non-
nullnon-breakingly.
Display recommendations
The expected UI pattern is to show the Card’s printed effect text first, then a clearly labeled “Rulings” section underneath:When rulings change
Existing ruling text is treated as immutable once issued. If a previous ruling was wrong or the rules engine has shifted, the original ruling stays in place (with its originalid and date) and a new ruling is appended that supersedes it. The text of the newer ruling will say so explicitly:
Card vs Printing
Rulings live on the Card, not on individual Printings. A reprint of the same Card carries the samerulings array. There is no separate ruling system for promo-only or starter-deck cards — if a card-game-mechanic ruling exists, it’s on the Card record.
Searching by ruling text
There is no full-text endpoint for rulings today. If you need to find every Card whose ruling mentions “counter rune,” you’ll need to fetch the Card list via theupdated_since cycle and grep client-side. We track interest in a /v1/rulings/search endpoint — write to support if your use case needs it.