Skip to content

Events

Deleted

View as MarkdownPlain text source(opens in new tab)

Fires when a previously delivered post, reply, or quote is deleted. Carries the same fields as the original event so your UI can re-render with deleted styling.

A deleted event mirrors the event we previously delivered for the same post. Every field you saw at create time arrives again, with three changes:

  • type is now "deleted"
  • deletedKind carries the original type: "post", "reply", or "quote"
  • latencyMs is the delete-detection latency, not the original create-to-delivery latency

Fields

A deleted event carries exactly the same fields as the original post, reply, or quote event it replays. The only changes are these three:

FieldTypeNotes
type"deleted"
deletedKind"post" | "reply" | "quote"The original event type
latencyMsnumber | nullWall-clock from the delete to delivery

Every other field matches the original event byte-for-byte: id, url, author, text, media, createdAtMs, plus replyTo* for reply variants and quoted* for quote variants.

Example

If we previously delivered a post event, the matching deleted event looks like the same payload with the three fields swapped:

{
  "type": "deleted",
  "id": "2062662195192697233",
  "url": "https://x.com/elonmusk/status/2062662195192697233",
  "author": {
    "id": "44196397",
    "username": "elonmusk",
    "displayName": "Elon Musk",
    "verified": true,
    "verifiedType": "blue"
  },
  "text": "Starlink V3 satellites have >10X bandwidth of V2 and there'll be >10X launched, which means >100X more bandwidth...",
  "createdAtMs": 1780611964000,
  "latencyMs": 42,
  "media": [],
  "article": null,
  "poll": null,
  "symbols": [],
  "deletedKind": "post"
}

Media stays available

When the deleted post had media, the media[].url (and posterUrl for video and GIF) point to cdn.corex.gg. We keep a copy of the original media so your UI can render the deleted post with its images and video frames even after X removes them.

What about repost?

repost has no deleted variant. X doesn’t distinguish “user undid their repost” from “original post was deleted”; both surface the same way upstream. If the original post is deleted, you receive a deleted event for that original post (with the original author), independent of who reposted it.

  • post, reply, quote: the event types that can later produce a deleted