IDs are never reused
Every Reep ID is minted once and points at one entity for good. When an entity leaves the register, its ID is retired. It is never handed to a different player, club or match later.
Identifier policy
A Reep ID is a stable name for one football entity, such as a player, coach, referee, team, competition, season, stage, or match. If you build on Reep IDs, you should be able to trust that they keep meaning the same thing. Here is exactly what we promise.
Every Reep ID is minted once and points at one entity for good. When an entity leaves the register, its ID is retired. It is never handed to a different player, club or match later.
IDs are append-mostly: we add new ones as coverage expands, and we do not quietly delete the ones already published. If you have stored a Reep ID, it stays meaningful.
When we discover that two IDs were really the same entity, we merge them and keep a redirect from the retired ID to the survivor. Ask for the old ID and you still get the right entity. The answer names both the ID you asked for and the one it now resolves to, so you can update your records.
If an entity turns out to be wrong or loses its supporting evidence, its ID is tombstoned or redirected and marked as moved or withdrawn rather than silently dropped. A previously published ID never simply vanishes.
Before a release goes out, we diff it against the previous public release to confirm every ID it published still resolves to itself, to its survivor or to a tombstone. Any ID that would silently vanish blocks the release until it is accounted for.
Say you stored the ID rp00…a1 for a player, and later we learn it was the same
person as rp00…b2. We keep rp00…b2 as the survivor and redirect
rp00…a1 to it. Your stored ID keeps working: the register still answers, tells you
it has moved, and gives you the new ID so you can update at your own pace.
Retired players and folded clubs may eventually be marked as archived, but their IDs keep resolving under this policy. The open census carries the same identifiers you can query through the API and download from the register.