Deleted Items
What a tombstone is
A tombstone is the same envelope as a normal feed row, stripped down to the bare identifying fields plus a removal marker. It tells a long-lived mirror that an identifier it cached has left the catalog — hard-deleted, soft-deleted (“trashed”), or merged into another record — so you can drop or redirect the row. Removals ride the same delta loop you already run for updates: there is no second endpoint and no second watermark.
Do not confuse the two status families: eventStatus describes the schedule of a live event, while deletionStatus appears only on a tombstone after a record has left the catalog.
When they appear
Only on delta polls — never on catalog browsing.
Tombstones require dateModifiedFrom
dateModifiedFrom. Queries without it (catalog browsing) never return tombstones — they would just be noise. A tombstone’s dateModified is when the removal became visible on the feed (normally the moment it happened; if we ever publish one late, it carries the later publish time), so the same watermark that catches updates catches the removal. deletedAt is always the true removal time.eventStatus values
The scheduling state of a live event. Keep the row and update its presentation.
| Value | Meaning | Recommended handling |
|---|---|---|
scheduled | The event is expected to happen at its current start date. | Show it normally. |
postponed | The event is delayed and a replacement date is not yet confirmed. | Keep it, label it postponed, and avoid promising the current date. |
rescheduled | The event has moved to a confirmed new date. previousStartDate may contain the prior date. | Keep it and update users from the old date to the new one. |
cancelled | The event will not take place as scheduled, but it remains a live catalog row. | Keep it for history and joins; hide it or clearly label it in upcoming views. |
All four values arrive on normal rows and can change in later delta polls. Always persist eventStatus on upsert. None of these values is a tombstone discriminator.
deletionStatus values
A single discriminator carries the removal class. Live rows omit the field entirely.
| Value | Meaning | Extra fields | What to do |
|---|---|---|---|
deleted | Hard-deleted upstream. The identifier is gone and will not be re-used. | deletedAt | Drop the row from your cache. |
trashed | Soft-deleted upstream. This class is emitted for events only and is not an eventStatus value. | deletedAt | Treat the same as deleted and drop it. If restored upstream, it can later return as a normal live row. |
merged | Folded into another record. This row’s identifier is the loser; mergedInto is the survivor. | deletedAt, mergedInto | Repoint cached references to mergedInto. |
mergedInto is the next-hop survivor only. If a survivor later merges again, that produces another tombstone pointing at the next survivor — walk merges as they arrive across delta windows.
Wire shape
A single delta page can mix live rows and tombstones.
A page from GET /v3/events?dateModifiedFrom=2026-04-12T00:00:00Z can include live rows and any supported tombstone class together. Tombstone rows carry only @type, identifier, deletionStatus, deletedAt, dateModified, and (on merged) mergedInto — everything else is omitted.
{"success": { "code": 200 },"pagination": {"page": 1,