| Campo | Descripción |
|---|---|
event_uuid | Identificador único para esta entrega de evento |
filter | El filtro que coincidió (por ejemplo, user_id o keyword) |
event_type | El tipo de evento suscrito |
tag | Etiqueta opcional de tu suscripción (cuando se define) |
payload | Datos específicos del evento |
includes | Objetos expandidos opcionales (usuarios, tweets, etc.) cuando estén disponibles |
{
"data": {
"event_uuid": "2080761390344937796",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "post.create",
"tag": "my post create",
"payload": {},
"includes": {}
}
}
Eventos de Post
post.create
Se activa cuando el usuario filtrado crea un Post. El payload es un objeto Post; includes puede contener usuarios y tweets relacionados.
{
"data": {
"event_uuid": "2080761390344937796",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "post.create",
"tag": "my post create",
"payload": {
"public_metrics": {
"retweet_count": 0,
"retweet_count_str": "0",
"reply_count": 0,
"reply_count_str": "0",
"like_count": 0,
"like_count_str": "0",
"quote_count": 0,
"quote_count_str": "0",
"bookmark_count": 0,
"bookmark_count_str": "0",
"impression_count": 0,
"impression_count_str": "0"
},
"lang": "en",
"created_at": "2026-07-24T21:05:48.000Z",
"author_id": "1716450569358098432",
"reply_settings": "everyone",
"display_text_range": [
0,
34
],
"paid_partnership": false,
"id": "2080761390344937796",
"possibly_sensitive": false,
"edit_history_tweet_ids": [
"2080761390344937796"
],
"conversation_id": "2080761390344937796",
"text": "XAA docs payload sample 1784927148",
"edit_controls": {
"edits_remaining": 5,
"edits_remaining_str": "5",
"is_edit_eligible": true,
"editable_until": "2026-07-24T22:05:48.000Z"
}
},
"includes": {
"tweets": [
{
"public_metrics": {
"retweet_count": 0,
"retweet_count_str": "0",
"reply_count": 0,
"reply_count_str": "0",
"like_count": 0,
"like_count_str": "0",
"quote_count": 0,
"quote_count_str": "0",
"bookmark_count": 0,
"bookmark_count_str": "0",
"impression_count": 0,
"impression_count_str": "0"
},
"lang": "en",
"created_at": "2026-07-24T21:05:48.000Z",
"author_id": "1716450569358098432",
"reply_settings": "everyone",
"display_text_range": [
0,
34
],
"paid_partnership": false,
"id": "2080761390344937796",
"possibly_sensitive": false,
"edit_history_tweet_ids": [
"2080761390344937796"
],
"conversation_id": "2080761390344937796",
"text": "XAA docs payload sample 1784927148",
"edit_controls": {
"edits_remaining": 5,
"edits_remaining_str": "5",
"is_edit_eligible": true,
"editable_until": "2026-07-24T22:05:48.000Z"
}
}
],
"users": [
{
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/OS6XL5y4m6",
"expanded_url": "https://console.x.com",
"display_url": "console.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 29,
"start_str": "29",
"end": 36,
"end_str": "36",
"username": "google"
},
{
"start": 38,
"start_str": "38",
"end": 47,
"end_str": "47",
"username": "coinbase"
},
{
"start": 49,
"start_str": "49",
"end": 51,
"end_str": "51",
"username": "X"
},
{
"start": 52,
"start_str": "52",
"end": 64,
"end_str": "64",
"username": "XDevelopers"
}
]
}
},
"name": "Taylor",
"protected": false,
"verified": true,
"description": "X Developer Platform • prev. @google, @coinbase\n\n@X @XDevelopers",
"is_identity_verified": true,
"affiliation": {
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X",
"user_id": [
"783214"
],
"description": "X"
},
"location": "Palo Alto, CA",
"username": "taycaldwell",
"verified_type": "blue",
"pinned_tweet_id": "1968451310203859083",
"created_at": "2023-10-23T13:44:53.000Z",
"id": "1716450569358098432",
"profile_image_url": "https://pbs.twimg.com/profile_images/2035547159203139584/BKh7KcEt_normal.jpg",
"url": "https://t.co/OS6XL5y4m6",
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1779411426",
"most_recent_tweet_id": "2080761390344937796",
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 652,
"following_count_str": "652",
"tweet_count": 790,
"tweet_count_str": "790",
"listed_count": 47,
"listed_count_str": "47",
"like_count": 8011,
"like_count_str": "8011",
"media_count": 79,
"media_count_str": "79"
},
"profile_geo_enrichment": {
"potential_locations": [
{
"geo_entity": {
"entity_id": "5380748",
"display_name": "Palo Alto, California, United States",
"country_code": "US",
"region": "California",
"sub_region": "Santa Clara County",
"locality": "Palo Alto",
"population": 64403,
"population_str": "64403",
"geo_point": {
"latitude": 37.44188,
"longitude": -122.14302
}
}
}
]
}
}
]
}
}
}
post.delete
Se activa cuando el usuario filtrado elimina un Post. El payload contiene el ID del Post eliminado y el ID del autor.
{
"data": {
"event_uuid": "-2781149976877970683",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "post.delete",
"tag": "my post deletes",
"payload": {
"id": "2080761269309813134",
"author_id": "1716450569358098432"
},
"includes": {
"users": [
{
"data": {
"profile_image_url": "https://pbs.twimg.com/profile_images/2035547159203139584/BKh7KcEt_normal.jpg",
"affiliation": {
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X",
"description": "X"
},
"protected": false,
"id": "1716450569358098432",
"username": "taycaldwell",
"verified_type": "blue",
"verified": true,
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1779411426",
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/OS6XL5y4m6",
"expanded_url": "https://console.x.com",
"display_url": "console.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 29,
"start_str": "29",
"end": 36,
"end_str": "36",
"username": "google"
},
{
"start": 38,
"start_str": "38",
"end": 47,
"end_str": "47",
"username": "coinbase"
},
{
"start": 49,
"start_str": "49",
"end": 51,
"end_str": "51",
"username": "X"
},
{
"start": 52,
"start_str": "52",
"end": 64,
"end_str": "64",
"username": "XDevelopers"
}
]
}
},
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 651,
"following_count_str": "651",
"tweet_count": 789,
"tweet_count_str": "789",
"listed_count": 47,
"listed_count_str": "47",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"url": "https://t.co/OS6XL5y4m6",
"created_at": "2023-10-23T13:44:53.000Z",
"description": "X Developer Platform • prev. @google, @coinbase\n\n@X @XDevelopers",
"is_identity_verified": true,
"location": "Palo Alto, CA",
"name": "Taylor"
}
}
]
}
}
}
post.mention.create
Se activa cuando alguien @menciona al usuario filtrado en un Post. Evento privado: requiere autenticación con contexto de usuario.
{
"data": {
"event_uuid": "2080765813578191303",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "post.mention.create",
"tag": "my post mentions",
"payload": {
"paid_partnership": false,
"created_at": "2026-07-24T21:23:23.000Z",
"edit_history_tweet_ids": [
"2080765813578191303"
],
"conversation_id": "2080765813578191303",
"display_text_range": [
0,
16
],
"edit_controls": {
"edits_remaining": 5,
"edits_remaining_str": "5",
"is_edit_eligible": true,
"editable_until": "2026-07-24T22:23:23.000Z"
},
"text": "hey @taycaldwell",
"entities": {
"mentions": [
{
"start": 4,
"start_str": "4",
"end": 16,
"end_str": "16",
"username": "taycaldwell",
"id": "1716450569358098432"
}
]
},
"author_id": "2046316926083764224",
"possibly_sensitive": false,
"public_metrics": {
"retweet_count": 0,
"retweet_count_str": "0",
"reply_count": 0,
"reply_count_str": "0",
"like_count": 0,
"like_count_str": "0",
"quote_count": 0,
"quote_count_str": "0",
"bookmark_count": 0,
"bookmark_count_str": "0",
"impression_count": 0,
"impression_count_str": "0"
},
"reply_settings": "everyone",
"id": "2080765813578191303",
"lang": "und"
},
"includes": {
"users": [
{
"public_metrics": {
"followers_count": 97,
"followers_count_str": "97",
"following_count": 1,
"following_count_str": "1",
"tweet_count": 50,
"tweet_count_str": "50",
"listed_count": 4,
"listed_count_str": "4",
"like_count": 26,
"like_count_str": "26",
"media_count": 3,
"media_count_str": "3"
},
"profile_banner_url": "",
"username": "paypertaylor2",
"protected": false,
"is_identity_verified": false,
"affiliation": {
"badge_url": "https://pbs.twimg.com/semantic_core_img/1428827730364096519/4ZXpTBhS?format=png&name=orig",
"description": "Automated"
},
"most_recent_tweet_id": "2080765813578191303",
"verified_type": "none",
"description": "",
"created_at": "2026-04-20T19:55:59.000Z",
"profile_image_url": "https://pbs.twimg.com/profile_images/2050311008334598144/EX0NG310_normal.jpg",
"name": "paypertaylor2",
"verified": false,
"url": "",
"id": "2046316926083764224"
},
{
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 651,
"following_count_str": "651",
"tweet_count": 789,
"tweet_count_str": "789",
"listed_count": 46,
"listed_count_str": "46",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1784928028",
"username": "taycaldwell",
"protected": false,
"is_identity_verified": true,
"affiliation": {
"user_id": [
"783214"
],
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X",
"description": "X"
},
"most_recent_tweet_id": "2080761269309813134",
"verified_type": "blue",
"description": "X Developer Platform • prev @google, @coinbase\n\n@X @XDevelopers",
"pinned_tweet_id": "1968451310203859083",
"created_at": "2023-10-23T13:44:53.000Z",
"profile_image_url": "https://pbs.twimg.com/profile_images/2080765075858825216/iZCZNCsV_normal.jpg",
"name": "Taylor Caldwell",
"verified": true,
"url": "https://t.co/7SzJl0jTOo",
"location": "San Francisco, CA",
"id": "1716450569358098432",
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/7SzJl0jTOo",
"expanded_url": "https://developer.x.com",
"display_url": "developer.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 28,
"start_str": "28",
"end": 35,
"end_str": "35",
"username": "google"
},
{
"start": 37,
"start_str": "37",
"end": 46,
"end_str": "46",
"username": "coinbase"
},
{
"start": 48,
"start_str": "48",
"end": 50,
"end_str": "50",
"username": "X"
},
{
"start": 51,
"start_str": "51",
"end": 63,
"end_str": "63",
"username": "XDevelopers"
}
]
}
}
}
],
"tweets": [
{
"paid_partnership": false,
"created_at": "2026-07-24T21:23:23.000Z",
"edit_history_tweet_ids": [
"2080765813578191303"
],
"conversation_id": "2080765813578191303",
"display_text_range": [
0,
16
],
"edit_controls": {
"edits_remaining": 5,
"edits_remaining_str": "5",
"is_edit_eligible": true,
"editable_until": "2026-07-24T22:23:23.000Z"
},
"text": "hey @taycaldwell",
"entities": {
"mentions": [
{
"start": 4,
"start_str": "4",
"end": 16,
"end_str": "16",
"username": "taycaldwell",
"id": "1716450569358098432"
}
]
},
"author_id": "2046316926083764224",
"possibly_sensitive": false,
"public_metrics": {
"retweet_count": 0,
"retweet_count_str": "0",
"reply_count": 0,
"reply_count_str": "0",
"like_count": 0,
"like_count_str": "0",
"quote_count": 0,
"quote_count_str": "0",
"bookmark_count": 0,
"bookmark_count_str": "0",
"impression_count": 0,
"impression_count_str": "0"
},
"reply_settings": "everyone",
"id": "2080765813578191303",
"lang": "und"
}
]
}
}
}
Eventos de Me gusta
like.create
Se activa cuando el usuario filtrado le da Me gusta a un Post, o cuando alguien le da Me gusta a uno de sus Posts. Evento privado: requiere autenticación con contexto de usuario. Admite un filtro opcional direction (inbound u outbound).
El payload es un objeto de Me gusta con los siguientes campos:
| Campo | Descripción |
|---|---|
id | ID del evento de Me gusta |
liked_tweet_id | ID del Post al que se le dio Me gusta |
liked_tweet_author_id | Autor del Post al que se le dio Me gusta |
created_at | Hora de creación del Post al que se le dio Me gusta (cuando esté disponible) |
timestamp_ms | Marca de tiempo del evento en milisegundos (cuando esté disponible) |
includes puede contener el Post al que se le dio Me gusta y los usuarios relacionados.
{
"data": {
"event_uuid": "-3402274206530057851",
"filter": {
"user_id": "1716450569358098432",
"direction": "outbound"
},
"event_type": "like.create",
"tag": "my likes",
"payload": {
"id": "87719f50ee17bdfa06a3089098a2b9ed",
"created_at": "2026-07-24T21:12:45.000Z",
"timestamp_ms": "1784927565236",
"liked_tweet_author_id": "2533341854",
"liked_tweet_id": "2079814480427442556"
},
"includes": {
"users": [
{
"description": "𝕏 | @X @API @XDevelopers",
"pinned_tweet_id": "2040770361566826685",
"url": "",
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2533341854/1638372155",
"created_at": "2014-05-29T20:24:26.000Z",
"entities": {
"description": {
"mentions": [
{
"start": 4,
"start_str": "4",
"end": 6,
"end_str": "6",
"username": "X"
},
{
"start": 7,
"start_str": "7",
"end": 11,
"end_str": "11",
"username": "API"
},
{
"start": 12,
"start_str": "12",
"end": 24,
"end_str": "24",
"username": "XDevelopers"
}
]
}
},
"public_metrics": {
"followers_count": 26972,
"followers_count_str": "26972",
"following_count": 1713,
"following_count_str": "1713",
"tweet_count": 2994,
"tweet_count_str": "2994",
"listed_count": 297,
"listed_count_str": "297",
"like_count": 47468,
"like_count_str": "47468",
"media_count": 265,
"media_count_str": "265"
},
"affiliation": {
"description": "X",
"url": "https://twitter.com/X",
"user_id": [
"783214"
],
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg"
},
"name": "Chris Park",
"verified_type": "blue",
"id": "2533341854",
"profile_image_url": "https://pbs.twimg.com/profile_images/1770195415729569792/wUEX1LCO_normal.jpg",
"username": "chrisparkX",
"protected": false,
"is_identity_verified": false,
"location": "New York, NY",
"verified": true,
"profile_geo_enrichment": {
"potential_locations": [
{
"geo_entity": {
"entity_id": "5128638",
"display_name": "New York, United States",
"country_code": "US",
"region": "New York",
"geo_point": {
"latitude": 43.00035,
"longitude": -75.4999
}
}
}
]
}
}
],
"tweets": [
{
"possibly_sensitive": false,
"edit_controls": {
"edits_remaining": 5,
"edits_remaining_str": "5",
"is_edit_eligible": true,
"editable_until": "2026-07-22T07:23:07.000Z"
},
"lang": "en",
"text": "Great guide on using the X API via our new XMCP and Grok Build to build a structured knowledge system powered by X—unlocking great use cases like agentic research, realtime monitoring the situation, and an audience flywheel to improve as creators on X. https://t.co/5DedenNGo9",
"conversation_id": "2079814480427442556",
"created_at": "2026-07-22T06:23:07.000Z",
"paid_partnership": false,
"author_id": "2533341854",
"entities": {
"urls": [
{
"start": 253,
"start_str": "253",
"end": 276,
"end_str": "276",
"url": "https://t.co/5DedenNGo9",
"expanded_url": "https://twitter.com/xfreeze/status/2079756440722665849",
"display_url": "x.com/xfreeze/status…"
}
]
},
"edit_history_tweet_ids": [
"2079814480427442556"
],
"id": "2079814480427442556",
"public_metrics": {
"retweet_count": 16,
"retweet_count_str": "16",
"reply_count": 8,
"reply_count_str": "8",
"like_count": 131,
"like_count_str": "131",
"quote_count": 2,
"quote_count_str": "2",
"bookmark_count": 90,
"bookmark_count_str": "90",
"impression_count": 21004,
"impression_count_str": "21004"
},
"referenced_tweets": [
{
"type": "quoted",
"id": "2079756440722665849"
}
],
"display_text_range": [
0,
252
],
"reply_settings": "everyone"
}
]
}
}
}
Eventos de seguimiento
follow.follow
Se activa cuando el usuario filtrado sigue a otro usuario, o cuando alguien lo sigue. El payload incluye source (el seguidor) y target (el usuario seguido).
{
"data": {
"event_uuid": "-7953119945885597316",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "follow.follow",
"tag": "my follows",
"payload": {
"source": {
"data": {
"affiliation": {
"description": "X",
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X"
},
"location": "Palo Alto, CA",
"name": "Taylor",
"profile_image_url": "https://pbs.twimg.com/profile_images/2035547159203139584/BKh7KcEt_normal.jpg",
"created_at": "2023-10-23T13:44:53.000Z",
"protected": false,
"verified": true,
"url": "https://t.co/OS6XL5y4m6",
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 652,
"following_count_str": "652",
"tweet_count": 790,
"tweet_count_str": "790",
"listed_count": 47,
"listed_count_str": "47",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"is_identity_verified": true,
"description": "X Developer Platform • prev. @google, @coinbase\n\n@X @XDevelopers",
"verified_type": "blue",
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/OS6XL5y4m6",
"expanded_url": "https://console.x.com",
"display_url": "console.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 29,
"start_str": "29",
"end": 36,
"end_str": "36",
"username": "google"
},
{
"start": 38,
"start_str": "38",
"end": 47,
"end_str": "47",
"username": "coinbase"
},
{
"start": 49,
"start_str": "49",
"end": 51,
"end_str": "51",
"username": "X"
},
{
"start": 52,
"start_str": "52",
"end": 64,
"end_str": "64",
"username": "XDevelopers"
}
]
}
},
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1779411426",
"username": "taycaldwell",
"id": "1716450569358098432"
}
},
"target": {
"data": {
"affiliation": {
"description": "X",
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X"
},
"name": "API",
"profile_image_url": "https://pbs.twimg.com/profile_images/1683497657388392455/yW7azZHt_normal.jpg",
"created_at": "2007-05-23T06:01:13.000Z",
"protected": false,
"verified": true,
"url": "https://t.co/YrfsitXdac",
"public_metrics": {
"followers_count": 4934564,
"followers_count_str": "4934564",
"following_count": 12,
"following_count_str": "12",
"tweet_count": 3755,
"tweet_count_str": "3755",
"listed_count": 11603,
"listed_count_str": "11603",
"like_count": 7,
"like_count_str": "7",
"media_count": 9,
"media_count_str": "9"
},
"is_identity_verified": false,
"description": "Updates about X API changes and service issues.",
"verified_type": "business",
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/YrfsitXdac",
"expanded_url": "https://developer.x.com",
"display_url": "developer.x.com"
}
]
}
},
"profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1690212094",
"username": "API",
"id": "6253282"
}
}
}
}
}
follow.unfollow
Se activa cuando el usuario filtrado deja de seguir a otro usuario, o cuando alguien deja de seguirlo. Comparte la misma estructura de source / target que follow.follow.
{
"data": {
"event_uuid": "-4233426745281461957",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "follow.unfollow",
"tag": "my unfollows",
"payload": {
"source": {
"data": {
"affiliation": {
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X",
"description": "X"
},
"url": "https://t.co/OS6XL5y4m6",
"description": "X Developer Platform • prev. @google, @coinbase\n\n@X @XDevelopers",
"verified": true,
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/OS6XL5y4m6",
"expanded_url": "https://console.x.com",
"display_url": "console.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 29,
"start_str": "29",
"end": 36,
"end_str": "36",
"username": "google"
},
{
"start": 38,
"start_str": "38",
"end": 47,
"end_str": "47",
"username": "coinbase"
},
{
"start": 49,
"start_str": "49",
"end": 51,
"end_str": "51",
"username": "X"
},
{
"start": 52,
"start_str": "52",
"end": 64,
"end_str": "64",
"username": "XDevelopers"
}
]
}
},
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1779411426",
"is_identity_verified": true,
"username": "taycaldwell",
"id": "1716450569358098432",
"name": "Taylor",
"profile_image_url": "https://pbs.twimg.com/profile_images/2035547159203139584/BKh7KcEt_normal.jpg",
"created_at": "2023-10-23T13:44:53.000Z",
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 651,
"following_count_str": "651",
"tweet_count": 790,
"tweet_count_str": "790",
"listed_count": 47,
"listed_count_str": "47",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"verified_type": "blue",
"location": "Palo Alto, CA",
"protected": false
}
},
"target": {
"data": {
"affiliation": {
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X",
"description": "X"
},
"url": "https://t.co/YrfsitXdac",
"description": "Updates about X API changes and service issues.",
"verified": true,
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/YrfsitXdac",
"expanded_url": "https://developer.x.com",
"display_url": "developer.x.com"
}
]
}
},
"profile_banner_url": "https://pbs.twimg.com/profile_banners/6253282/1690212094",
"is_identity_verified": false,
"username": "API",
"id": "6253282",
"name": "API",
"profile_image_url": "https://pbs.twimg.com/profile_images/1683497657388392455/yW7azZHt_normal.jpg",
"created_at": "2007-05-23T06:01:13.000Z",
"public_metrics": {
"followers_count": 4934563,
"followers_count_str": "4934563",
"following_count": 12,
"following_count_str": "12",
"tweet_count": 3755,
"tweet_count_str": "3755",
"listed_count": 11603,
"listed_count_str": "11603",
"like_count": 7,
"like_count_str": "7",
"media_count": 9,
"media_count_str": "9"
},
"verified_type": "business",
"protected": false
}
}
}
}
}
Eventos de perfil
Todos los eventosprofile.update.* comparten una estructura de payload con before / after.
Tipos admitidos: profile.update.bio, profile.update.profile_picture, profile.update.banner_picture, profile.update.screenname, profile.update.handle, profile.update.geo, profile.update.url, profile.update.verified_badge, profile.update.affiliate_badge.
profile.update.bio
Se activa cuando el usuario filtrado actualiza la biografía de su perfil.
{
"data": {
"event_uuid": "-8917909039855612786",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "profile.update.bio",
"tag": "my bio updates",
"payload": {
"before": "X Developer Platform • prev. @google, @coinbase\n\n@X @XDevelopers",
"after": "X Developer Platform • prev @google, @coinbase\n\n@X @XDevelopers"
}
}
}
profile.update.profile_picture
Se activa cuando el usuario filtrado actualiza su foto de perfil.
{
"data": {
"event_uuid": "3497989179769309099",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "profile.update.profile_picture",
"tag": "my profile picture updates",
"payload": {
"before": "https://pbs.twimg.com/profile_images/2035547159203139584/BKh7KcEt.jpg",
"after": "https://pbs.twimg.com/profile_images/2080765075858825216/iZCZNCsV.jpg"
}
}
}
profile.update.banner_picture
Se activa cuando el usuario filtrado actualiza el banner de su perfil.
{
"data": {
"event_uuid": "5061407317112342192",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "profile.update.banner_picture",
"tag": "my banner updates",
"payload": {
"before": "https://pbs.twimg.com/profile_banners/1716450569358098432/1779411426",
"after": "https://pbs.twimg.com/profile_banners/1716450569358098432/1784928028"
}
}
}
profile.update.screenname
Se activa cuando el usuario filtrado actualiza su nombre para mostrar.
{
"data": {
"event_uuid": "4123434298221215973",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "profile.update.screenname",
"tag": "my display name updates",
"payload": {
"before": "Taylor",
"after": "Taylor Caldwell"
}
}
}
profile.update.geo
Se activa cuando el usuario filtrado actualiza la ubicación de su perfil.
{
"data": {
"event_uuid": "8309664692915093892",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "profile.update.geo",
"tag": "my location updates",
"payload": {
"before": "Palo Alto, CA",
"after": "San Francisco, CA"
}
}
}
profile.update.url
Se activa cuando el usuario filtrado actualiza la URL del sitio web de su perfil.
{
"data": {
"event_uuid": "-6055744140117128555",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "profile.update.url",
"tag": "my url updates",
"payload": {
"before": "https://t.co/OS6XL5y4m6",
"after": "https://t.co/7SzJl0jTOo"
}
}
}
profile.update.handle
Se activa cuando el usuario filtrado actualiza su @handle. Comparte la misma estructura de payload before / after que los demás eventos de perfil.
profile.update.verified_badge
Se activa cuando cambia la insignia de verificado del usuario filtrado. Comparte la misma estructura de payload before / after que los demás eventos de perfil.
profile.update.affiliate_badge
Se activa cuando cambia la insignia de afiliado del usuario filtrado. Comparte la misma estructura de payload before / after que los demás eventos de perfil.
Eventos de chat (XChat)
Los payloads de chat cifrado incluyen campos codificados opacos que utilizan las bibliotecas cliente de XChat. Eventos privados: requieren autenticación con contexto de usuario.chat.received
{
"data": {
"event_uuid": "8511582263942905822",
"filter": {
"user_id": "1830023695835787264"
},
"event_type": "chat.received",
"tag": "my chat received",
"payload": {
"conversation_token": "eyJhbGciOiJIUzI1NiJ9.eyJyZXF1ZXN0aW5nVXNlciI6ICIxODMwMDIzNjk1ODM1Nzg3MjY0IiwgInJlY2lwaWVudCI6ICIxMDM0MjAyMjcyMzEyNTA0MzIwIiwgInZhbGlkU2luY2VNU2VjIjogIjE3NDU4ODQ4MDAwMDAifQ.86ymJsmru5KJtNvlvNXCErgMeevqaNBgBvLiSZa_kbo",
"id": "e4f4d3fc-8bbf-4928-92eb-e5058d6bb6f6",
"created_at_msec": "1784841183370",
"sender_id": "1034202272312504320",
"conversation_id": "1034202272312504320:1830023695835787264",
"conversation_key_version": "1768236281331",
"encoded_event": "CwABAAAAEzIwODA0MDA4MjUyMjcxMDAxNjALAAIAAAAkZTRmNGQzZmMtOGJiZi00OTI4LTkyZWItZTUwNThkNmJiNmY2CwADAAAAEzEwMzQyMDIyNzIzMTI1MDQzMjALAAQAAAAnMTAzNDIwMjI3MjMxMjUwNDMyMDoxODMwMDIzNjk1ODM1Nzg3MjY0CwAFAAAA12V5SmhiR2NpT2lKSVV6STFOaUo5LmV5SnlaWEYxWlhOMGFXNW5WWE5sY2lJNklDSXhPRE13TURJek5qazFPRE0xTnpnM01qWTBJaXdnSW5KbFkybHdhV1Z1ZENJNklDSXhNRE0wTWpBeU1qY3lNekV5TlRBME16SXdJaXdnSW5aaGJHbGtVMmx1WTJWTlUyVmpJam9nSWpFM05EVTRPRFE0TURBd01EQWlmUS44NnltSnNtcnU1S0p0TnZsdk5YQ0VyZ01lZXZxYU5CZ0J2TGlTWmFfa2JvCwAGAAAADTE3ODQ4NDExODMzNzAMAAcMAAELAGQAAABTzxVCBCVAlguLYySJdcYhpgpUgQYshT8ZDGTu+ukrdsGGBQ26N5r2/TNd7FJ/znc64yz9gv6u6xdA4IlWu+C4ScjGYgJ+7A8nLxDREFtYvlmqlDQLAGUAAAANMTc2ODIzNjI4MTMzMQIAZgECAGkACABqAAAAAQwAbAsAAQAAACBKpTut+m1aRnpYRpLv2RT2EaZGCqyjz3jp9zZ2ldrO6QsAAgAAAEjpfQJPSWghOYDoroi35e0Au4Lp5ClsN0brEmBVp7wwZo6qX3PbnSsBD2tqV8gk7JDSMTvSMjndOjk/MMHwGsYDt6Fn9yNJ+NoAAgBtAAAADAAJCwABAAAAVjZJSzlTWklNWEJlNVNGY0I3dkdaSmQ1QTVFYjVNTHZud3JoVUZmQkd2NFM1R3NTWDNXV1BHdUluWFZOZlNsYTM2RWpYUVEvUi9IaHNBKzJoUEFFWTdBCwACAAAADTE3NjUzODI2MzQ4MTcLAAMAAAABNwsABAAAAHxNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVKMmMrM0JZWnM3WkNFWS9VUENwbVF4Sk85djZGSmpldXN2bVNaTy9KRWF5OG9GMStvWFhsSFY1NWtYNGJLNi96RmlqTkt2cTFZUmIwaXQweVhxYmdsQT09DwAFDAAAAAELAAEAAAATMTAzNDIwMjI3MjMxMjUwNDMyMAsAAgAAAA0xNzY1MzgyNjM0ODE3CwADAAAAfE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRUoyYyszQllaczdaQ0VZL1VQQ3BtUXhKTzl2NkZKamV1c3ZtU1pPL0pFYXk4b0YxK29YWGxIVjU1a1g0Yks2L3pGaWpOS3ZxMVlSYjBpdDB5WHFiZ2xBPT0AAAIACwELAA0AAAADMC0xAA==",
"conversation_key_change_event": "CwABAAAAEzIwMTA3NTQ4MTkxMTY0NDk5MDULAAIAAAAkNGNlNjQ1ZDItYTg5YS00OTlmLThiZGUtZTBhMWY0M2QxOTFmCwADAAAAEzE4MzAwMjM2OTU4MzU3ODcyNjQLAAQAAAAnMTAzNDIwMjI3MjMxMjUwNDMyMDoxODMwMDIzNjk1ODM1Nzg3MjY0CwAFAAAA12V5SmhiR2NpT2lKSVV6STFOaUo5LmV5SnlaWEYxWlhOMGFXNW5WWE5sY2lJNklDSXhPRE13TURJek5qazFPRE0xTnpnM01qWTBJaXdnSW5aaGJHbGtVMmx1WTJWTlUyVmpJam9nSWpFM05EVTRPRFE0TURBd01EQWlmUS44NnltSnNtcnU1S0p0TnZsdk5YQ0VyZ01lZXZxYU5CZ0J2TGlTWmFfa2JvCwAGAAAADTE3NjgyMzYyODE1NTkMAAcMAAMLAAEAAAANMTc2ODIzNjI4MTMzMQ8AAgwAAAACCwABAAAAEzEwMzQyMDIyNzIzMTI1MDQzMjALAAIAAACYQkVzU1pNTTZxMEhPM0FRVjlXWk52cWh0YndyblFpeE1zcEo5VkVZNmpvMVR2cFV1SmxjaE9GNVgxMFUrUStFRmMvZWZjMlpjYnRmSFR6ZFlzSDN2VExXdENJZE1qR1orZ0JGc0o4cEF1cmx6clR6ZkFPeVNPNWlYZEhBeVJ6c085TlV0TGZnUjJ4TWxJRVA2Y2M4bk1nUT0LAAMAAAANMTc2NTM4MjYzNDgxNwALAAEAAAATMTgzMDAyMzY5NTgzNTc4NzI2NAsAAgAAAJhCRDdHZEdXYklaaHdQaEFQaFYwVktoKyswR2poR3l5QXp0Yk1jL0ZHSWYvbCtSYThpU3lhV2tROFpSVVJtT25aRnN5VzNwMjRiMFp1QWg3dkNjZlpOV2dOZ1hpQUJIZmYxL1RpVFdLZ1FkM1liR0dyakV6eHJlZ0NmRWxRZmhaTFBDaEttQ0orb01wM2svL2RrRUhoSXNvPQsAAwAAAA0xNzM2NzIzODI4NjY3AAAADAAJCwABAAAAVlJpL1BsYndGK3Z4Yjdjb3BFSGgzOGNVdmx2cSt1cVp2eWRybVd3T2lBWE80c09mbm94MUUvM1U1RVV6QjBGL0RjMGkzNGNEejBXNjBXdFpTWnkrZUJBCwACAAAADTE3MzY3MjM4Mjg2NjcLAAMAAAABNAsABAAAAHxNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUV5eFFZKzNDSTJsd01GNUVxUldjNlhNUm5ZbVRuYVFYaFF5MW96Y2h6MElRbjd1aTVyeTFVU3pTY1Q5MDBXeVRQa05tU3ZHK004dHh6KzhZNVdmMGdaUT09AAA=",
"message_event_signature": {
"public_key_version": "1765382634817",
"signature": "6IK9SZIMXBe5SFcB7vGZJd5A5Eb5MLvnwrhUFfBGv4S5GsSX3WWPGuInXVNfSla36EjXQQ/R/HhsA+2hPAEY7A",
"signature_version": "7",
"signing_public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJ2c+3BYZs7ZCEY/UPCpmQxJO9v6FJjeusvmSZO/JEay8oF1+oXXlHV55kX4bK6/zFijNKvq1YRb0it0yXqbglA=="
}
}
}
}
chat.sent
{
"data": {
"event_uuid": "3723060601307155846",
"filter": {
"user_id": "1830023695835787264"
},
"event_type": "chat.sent",
"tag": "my chat sent",
"payload": {
"conversation_token": "eyJhbGciOiJIUzI1NiJ9.eyJyZXF1ZXN0aW5nVXNlciI6ICIxODMwMDIzNjk1ODM1Nzg3MjY0IiwgInJlY2lwaWVudCI6ICIxMDM0MjAyMjcyMzEyNTA0MzIwIiwgInZhbGlkU2luY2VNU2VjIjogIjE3NDU4ODQ4MDAwMDAifQ.86ymJsmru5KJtNvlvNXCErgMeevqaNBgBvLiSZa_kbo",
"id": "8e75466b-56ec-4e88-bddf-b18f7cc6030e",
"created_at_msec": "1784841233939",
"sender_id": "1830023695835787264",
"conversation_id": "1034202272312504320:1830023695835787264",
"conversation_key_version": "1768236281331",
"encoded_event": "CwABAAAAEzIwODA0MDEwMzczMzMyMzc3NjALAAIAAAAkOGU3NTQ2NmItNTZlYy00ZTg4LWJkZGYtYjE4ZjdjYzYwMzBlCwADAAAAEzE4MzAwMjM2OTU4MzU3ODcyNjQLAAQAAAAnMTAzNDIwMjI3MjMxMjUwNDMyMDoxODMwMDIzNjk1ODM1Nzg3MjY0CwAFAAAA12V5SmhiR2NpT2lKSVV6STFOaUo5LmV5SnlaWEYxWlhOMGFXNW5WWE5sY2lJNklDSXhPRE13TURJek5qazFPRE0xTnpnM01qWTBJaXdnSW5KbFkybHdhV1Z1ZENJNklDSXhNRE0wTWpBeU1qY3lNekV5TlRBME16SXdJaXdnSW5aaGJHbGtVMmx1WTJWTlUyVmpJam9nSWpFM05EVTRPRFE0TURBd01EQWlmUS44NnltSnNtcnU1S0p0TnZsdk5YQ0VyZ01lZXZxYU5CZ0J2TGlTWmFfa2JvCwAGAAAADTE3ODQ4NDEyMzM5MzkMAAcMAAELAGQAAABTH3krC1zh+3xP3AFJAdsXAzyU+i28GsAnsxk9LHLIAkYOcRpiEaP4ajkqrZ9PgxuqhA3+nsvJYyGDPHxeH+Wop/15BXDMmwGt6S259l3odPepvEMLAGUAAAANMTc2ODIzNjI4MTMzMQIAZgECAGkACABqAAAAAQwAbAsAAQAAACB948bZ8lP62xtQFXYtMh1V2xrDLFa7kwSnsXLgwLydVAsAAgAAAEgNfFI7/1jMfU7qQ0sfzSMEnapZn+9JlopoOmO9vm7FjZwEQgtk0E6A8ZxhUCSWN8xxb6k2aK417KxvDO5C6iD7DKy3mwc6phYAAgBtAAAADAAJCwABAAAAVk1hbnVSdkJ1cGlwMzhYemdTNzMzVjl4Vm4vNis0dWd1TXd2TWErWVVEUWlESXhWaFZiYVFjTitiS3liUFJCQ2o3SVB1UmkyUVF6UnZQZzdXcTlaaFB3CwACAAAADTE3MzY3MjM4Mjg2NjcLAAMAAAABNwsABAAAAHxNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUV5eFFZKzNDSTJsd01GNUVxUldjNlhNUm5ZbVRuYVFYaFF5MW96Y2h6MElRbjd1aTVyeTFVU3pTY1Q5MDBXeVRQa05tU3ZHK004dHh6KzhZNVdmMGdaUT09DwAFDAAAAAELAAEAAAATMTgzMDAyMzY5NTgzNTc4NzI2NAsAAgAAAA0xNzM2NzIzODI4NjY3CwADAAAAfE1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXl4UVkrM0NJMmx3TUY1RXFSV2M2WE1SblltVG5hUVhoUXkxb3pjaHowSVFuN3VpNXJ5MVVTelNjVDkwMFd5VFBrTm1TdkcrTTh0eHorOFk1V2YwZ1pRPT0AAAIACwELAA0AAAADMC0yAA==",
"conversation_key_change_event": "CwABAAAAEzIwMTA3NTQ4MTkxMTY0NDk5MDULAAIAAAAkNGNlNjQ1ZDItYTg5YS00OTlmLThiZGUtZTBhMWY0M2QxOTFmCwADAAAAEzE4MzAwMjM2OTU4MzU3ODcyNjQLAAQAAAAnMTAzNDIwMjI3MjMxMjUwNDMyMDoxODMwMDIzNjk1ODM1Nzg3MjY0CwAFAAAA12V5SmhiR2NpT2lKSVV6STFOaUo5LmV5SnlaWEYxWlhOMGFXNW5WWE5sY2lJNklDSXhPRE13TURJek5qazFPRE0xTnpnM01qWTBJaXdnSW5aaGJHbGtVMmx1WTJWTlUyVmpJam9nSWpFM05EVTRPRFE0TURBd01EQWlmUS44NnltSnNtcnU1S0p0TnZsdk5YQ0VyZ01lZXZxYU5CZ0J2TGlTWmFfa2JvCwAGAAAADTE3NjgyMzYyODE1NTkMAAcMAAMLAAEAAAANMTc2ODIzNjI4MTMzMQ8AAgwAAAACCwABAAAAEzEwMzQyMDIyNzIzMTI1MDQzMjALAAIAAACYQkVzU1pNTTZxMEhPM0FRVjlXWk52cWh0YndyblFpeE1zcEo5VkVZNmpvMVR2cFV1SmxjaE9GNVgxMFUrUStFRmMvZWZjMlpjYnRmSFR6ZFlzSDN2VExXdENJZE1qR1orZ0JGc0o4cEF1cmx6clR6ZkFPeVNPNWlYZEhBeVJ6c085TlV0TGZnUjJ4TWxJRVA2Y2M4bk1nUT0LAAMAAAANMTc2NTM4MjYzNDgxNwALAAEAAAATMTgzMDAyMzY5NTgzNTc4NzI2NAsAAgAAAJhCRDdHZEdXYklaaHdQaEFQaFYwVktoKyswR2poR3l5QXp0Yk1jL0ZHSWYvbCtSYThpU3lhV2tROFpSVVJtT25aRnN5VzNwMjRiMFp1QWg3dkNjZlpOV2dOZ1hpQUJIZmYxL1RpVFdLZ1FkM1liR0dyakV6eHJlZ0NmRWxRZmhaTFBDaEttQ0orb01wM2svL2RrRUhoSXNvPQsAAwAAAA0xNzM2NzIzODI4NjY3AAAADAAJCwABAAAAVlJpL1BsYndGK3Z4Yjdjb3BFSGgzOGNVdmx2cSt1cVp2eWRybVd3T2lBWE80c09mbm94MUUvM1U1RVV6QjBGL0RjMGkzNGNEejBXNjBXdFpTWnkrZUJBCwACAAAADTE3MzY3MjM4Mjg2NjcLAAMAAAABNAsABAAAAHxNRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUV5eFFZKzNDSTJsd01GNUVxUldjNlhNUm5ZbVRuYVFYaFF5MW96Y2h6MElRbjd1aTVyeTFVU3pTY1Q5MDBXeVRQa05tU3ZHK004dHh6KzhZNVdmMGdaUT09AAA=",
"message_event_signature": {
"public_key_version": "1736723828667",
"signature": "ManuRvBupip38XzgS733V9xVn/6+4uguMwvMa+YUDQiDIxVhVbaQcN+bKybPRBCj7IPuRi2QQzRvPg7Wq9ZhPw",
"signature_version": "7",
"signing_public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEyxQY+3CI2lwMF5EqRWc6XMRnYmTnaQXhQy1ozchz0IQn7ui5ry1USzScT900WyTPkNmSvG+M8txz+8Y5Wf0gZQ=="
}
}
}
}
chat.conversation_join
Se activa cuando un usuario se une a una conversación de chat cifrado. La estructura del payload coincide con la de otros eventos de chat (identidad de la conversación y material criptográfico codificado). Evento privado: requiere autenticación con contexto de usuario.
Eventos heredados de DM
Eventos de DM heredados (sin cifrar). Eventos privados: requieren autenticación con contexto de usuario.dm.sent
Se activa cuando el usuario filtrado envía un DM sin cifrar. El payload incluye direct_message_events y un mapa users.
{
"data": {
"event_uuid": "-3577827201104920132",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "dm.sent",
"tag": "my dm sent",
"payload": {
"direct_message_events": [
{
"type": "message_create",
"id": "2080763914820927863",
"created_timestamp": "1784927750704",
"message_create": {
"target": {
"recipient_id": "2244994945"
},
"sender_id": "1716450569358098432",
"message_data": {
"text": "XAA docs payload capture test - please ignore 1784927750",
"entities": {
"hashtags": [],
"symbols": [],
"user_mentions": [],
"urls": []
}
}
}
}
],
"users": {
"1716450569358098432": {
"data": {
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1779411426",
"username": "taycaldwell",
"affiliation": {
"description": "X",
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X"
},
"name": "Taylor",
"verified_type": "blue",
"description": "X Developer Platform • prev. @google, @coinbase\n\n@X @XDevelopers",
"location": "Palo Alto, CA",
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 651,
"following_count_str": "651",
"tweet_count": 789,
"tweet_count_str": "789",
"listed_count": 47,
"listed_count_str": "47",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"id": "1716450569358098432",
"url": "https://t.co/OS6XL5y4m6",
"protected": false,
"created_at": "2023-10-23T13:44:53.000Z",
"is_identity_verified": true,
"verified": true,
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/OS6XL5y4m6",
"expanded_url": "https://console.x.com",
"display_url": "console.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 29,
"start_str": "29",
"end": 36,
"end_str": "36",
"username": "google"
},
{
"start": 38,
"start_str": "38",
"end": 47,
"end_str": "47",
"username": "coinbase"
},
{
"start": 49,
"start_str": "49",
"end": 51,
"end_str": "51",
"username": "X"
},
{
"start": 52,
"start_str": "52",
"end": 64,
"end_str": "64",
"username": "XDevelopers"
}
]
}
},
"profile_image_url": "https://pbs.twimg.com/profile_images/2035547159203139584/BKh7KcEt_normal.jpg"
}
},
"2244994945": {
"data": {
"profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128",
"username": "XDevelopers",
"affiliation": {
"description": "X",
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X"
},
"name": "Developers",
"verified_type": "business",
"description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.",
"location": "127.0.0.1",
"public_metrics": {
"followers_count": 694887,
"followers_count_str": "694887",
"following_count": 762,
"following_count_str": "762",
"tweet_count": 4309,
"tweet_count_str": "4309",
"listed_count": 2978,
"listed_count_str": "2978",
"like_count": 2626,
"like_count_str": "2626",
"media_count": 829,
"media_count_str": "829"
},
"id": "2244994945",
"url": "https://t.co/NIwHVIVyrN",
"protected": false,
"created_at": "2013-12-14T04:35:55.000Z",
"is_identity_verified": false,
"verified": true,
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/NIwHVIVyrN",
"expanded_url": "https://docs.x.com/",
"display_url": "docs.x.com"
}
]
}
},
"profile_image_url": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg"
}
}
}
}
}
}
dm.received
Se activa cuando el usuario filtrado recibe un DM sin cifrar. Comparte la misma estructura de payload que dm.sent (direct_message_events más un mapa users). Evento privado: requiere autenticación con contexto de usuario.
{
"data": {
"event_uuid": "-6850472171600526495",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "dm.received",
"tag": "my dm received",
"payload": {
"direct_message_events": [
{
"type": "message_create",
"id": "2080765901528535096",
"created_timestamp": "1784928224372",
"message_create": {
"target": {
"recipient_id": "1716450569358098432"
},
"sender_id": "2046316926083764224",
"message_data": {
"text": "hello!",
"entities": {
"hashtags": [],
"symbols": [],
"user_mentions": [],
"urls": []
}
}
}
}
],
"users": {
"2046316926083764224": {
"data": {
"description": "",
"profile_banner_url": "",
"public_metrics": {
"followers_count": 97,
"followers_count_str": "97",
"following_count": 1,
"following_count_str": "1",
"tweet_count": 50,
"tweet_count_str": "50",
"listed_count": 4,
"listed_count_str": "4",
"like_count": 27,
"like_count_str": "27",
"media_count": 3,
"media_count_str": "3"
},
"protected": false,
"url": "",
"affiliation": {
"description": "Automated",
"badge_url": "https://pbs.twimg.com/semantic_core_img/1428827730364096519/4ZXpTBhS?format=png&name=orig"
},
"is_identity_verified": false,
"id": "2046316926083764224",
"profile_image_url": "https://pbs.twimg.com/profile_images/2050311008334598144/EX0NG310_normal.jpg",
"verified_type": "none",
"created_at": "2026-04-20T19:55:59.000Z",
"username": "paypertaylor2",
"verified": false,
"name": "paypertaylor2"
}
},
"1716450569358098432": {
"data": {
"description": "X Developer Platform • prev @google, @coinbase\n\n@X @XDevelopers",
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1784928028",
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/7SzJl0jTOo",
"expanded_url": "https://developer.x.com",
"display_url": "developer.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 28,
"start_str": "28",
"end": 35,
"end_str": "35",
"username": "google"
},
{
"start": 37,
"start_str": "37",
"end": 46,
"end_str": "46",
"username": "coinbase"
},
{
"start": 48,
"start_str": "48",
"end": 50,
"end_str": "50",
"username": "X"
},
{
"start": 51,
"start_str": "51",
"end": 63,
"end_str": "63",
"username": "XDevelopers"
}
]
}
},
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 651,
"following_count_str": "651",
"tweet_count": 789,
"tweet_count_str": "789",
"listed_count": 46,
"listed_count_str": "46",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"location": "San Francisco, CA",
"protected": false,
"url": "https://t.co/7SzJl0jTOo",
"affiliation": {
"description": "X",
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X"
},
"is_identity_verified": true,
"id": "1716450569358098432",
"profile_image_url": "https://pbs.twimg.com/profile_images/2080765075858825216/iZCZNCsV_normal.jpg",
"verified_type": "blue",
"created_at": "2023-10-23T13:44:53.000Z",
"username": "taycaldwell",
"verified": true,
"name": "Taylor Caldwell"
}
}
}
}
}
}
dm.read
Se activa cuando un participante lee el DM sin cifrar del usuario filtrado (confirmación de lectura). Evento privado: requiere autenticación con contexto de usuario.
dm.indicate_typing
Se activa cuando un participante está escribiendo un mensaje al usuario filtrado. Evento privado: requiere autenticación con contexto de usuario.
Eventos de noticias
news.new
Filtra por keyword. El payload incluye campos de noticias seleccionadas por Grok, como categoría, nombre, gancho, resumen, contextos y resultados de posts relacionados del clúster.
| Campo | Descripción |
|---|---|
id | ID del elemento de noticia |
name | Nombre del titular / tema |
category | Categoría de la noticia |
hook | Gancho / avance breve |
summary | Resumen más extenso |
contexts | Contextos de temas / entidades relacionados |
cluster_posts_results | Posts relacionados cuando estén disponibles |
updated_at | Marca de tiempo de la última actualización |
disclaimer | Texto de descargo de responsabilidad opcional |
{
"data": {
"event_uuid": "2080756868147019827",
"filter": {
"keyword": "OpenAI"
},
"event_type": "news.new",
"tag": "openai news",
"payload": {
"summary": "OpenAI rolled out a new feature in ChatGPT's web version that lets users create virtual pets by describing them, generating fun companions like a fluffy gray cat or a seal in a yellow bow tie. Creators can copy a shareable link from personalization settings, allowing friends to adopt the pet easily, with spritesheets downloadable for the desktop app. Reactions lean lighthearted, with users calling the pets underrated and dreaming up Pokémon-style trading and battles, though some wonder about better uses for the tech.",
"contexts": {
"entities": {
"events": [],
"organizations": [
"OpenAI"
],
"people": [],
"places": [],
"products": []
},
"topics": [
"Technology"
],
"finance": {
"tickers": []
},
"sports": {
"teams": []
}
},
"id": "2080756868147019827",
"updated_at": "2026-07-24T20:53:37.000Z",
"hook": "Imagine designing a green dinosaur with a bow tie, then sharing it with friends to adopt as their own ChatGPT companion.",
"category": "News",
"disclaimer": "This story is a summary of posts on X and may evolve over time. Grok can make mistakes, verify its outputs.",
"cluster_posts_results": [
{
"post_id": "2080756403493560652"
},
{
"post_id": "2080747505474736162"
},
{
"post_id": "2080750142437880021"
},
{
"post_id": "2080748929197523160"
},
{
"post_id": "2080747522323308860"
},
{
"post_id": "2080755240777736204"
},
{
"post_id": "2080749609681641909"
},
{
"post_id": "2080752936594903495"
},
{
"post_id": "2080752950692172087"
},
{
"post_id": "2080755140794237414"
}
],
"name": "ChatGPT Adds Custom Virtual Pets for Sharing"
}
}
}
Eventos de Spaces
spaces.start
Se activa cuando el usuario filtrado inicia un Space. El payload incluye el user anfitrión, broadcast_id y un event_type interno con valor start.
{
"data": {
"event_uuid": "4093201169289922041",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "spaces.start",
"tag": "my spaces start",
"payload": {
"user": {
"data": {
"affiliation": {
"description": "X",
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"url": "https://twitter.com/X"
},
"location": "San Francisco, CA",
"name": "Taylor Caldwell",
"profile_image_url": "https://pbs.twimg.com/profile_images/2080765075858825216/iZCZNCsV_normal.jpg",
"created_at": "2023-10-23T13:44:53.000Z",
"protected": false,
"verified": true,
"url": "https://t.co/7SzJl0jTOo",
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 651,
"following_count_str": "651",
"tweet_count": 789,
"tweet_count_str": "789",
"listed_count": 46,
"listed_count_str": "46",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"is_identity_verified": true,
"description": "X Developer Platform • prev @google, @coinbase\n\n@X @XDevelopers",
"verified_type": "blue",
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/7SzJl0jTOo",
"expanded_url": "https://developer.x.com",
"display_url": "developer.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 28,
"start_str": "28",
"end": 35,
"end_str": "35",
"username": "google"
},
{
"start": 37,
"start_str": "37",
"end": 46,
"end_str": "46",
"username": "coinbase"
},
{
"start": 48,
"start_str": "48",
"end": 50,
"end_str": "50",
"username": "X"
},
{
"start": 51,
"start_str": "51",
"end": 63,
"end_str": "63",
"username": "XDevelopers"
}
]
}
},
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1784928028",
"username": "taycaldwell",
"id": "1716450569358098432"
}
},
"broadcast_id": "1qxvvvyLLdnxB",
"event_type": "spaces_start"
}
}
}
spaces.end
Se activa cuando el usuario filtrado finaliza un Space. Comparte la misma estructura que spaces.start, con un event_type interno de end.
{
"data": {
"event_uuid": "-498317022904955631",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "spaces.end",
"tag": "my spaces end",
"payload": {
"user": {
"data": {
"description": "X Developer Platform • prev @google, @coinbase\n\n@X @XDevelopers",
"protected": false,
"is_identity_verified": true,
"affiliation": {
"url": "https://twitter.com/X",
"badge_url": "https://pbs.twimg.com/profile_images/1955359038532653056/OSHY3ewP_bigger.jpg",
"description": "X"
},
"entities": {
"url": {
"urls": [
{
"start": 0,
"start_str": "0",
"end": 23,
"end_str": "23",
"url": "https://t.co/7SzJl0jTOo",
"expanded_url": "https://developer.x.com",
"display_url": "developer.x.com"
}
]
},
"description": {
"mentions": [
{
"start": 28,
"start_str": "28",
"end": 35,
"end_str": "35",
"username": "google"
},
{
"start": 37,
"start_str": "37",
"end": 46,
"end_str": "46",
"username": "coinbase"
},
{
"start": 48,
"start_str": "48",
"end": 50,
"end_str": "50",
"username": "X"
},
{
"start": 51,
"start_str": "51",
"end": 63,
"end_str": "63",
"username": "XDevelopers"
}
]
}
},
"profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1784928028",
"public_metrics": {
"followers_count": 5502,
"followers_count_str": "5502",
"following_count": 651,
"following_count_str": "651",
"tweet_count": 789,
"tweet_count_str": "789",
"listed_count": 46,
"listed_count_str": "46",
"like_count": 8010,
"like_count_str": "8010",
"media_count": 79,
"media_count_str": "79"
},
"id": "1716450569358098432",
"verified_type": "blue",
"profile_image_url": "https://pbs.twimg.com/profile_images/2080765075858825216/iZCZNCsV_normal.jpg",
"name": "Taylor Caldwell",
"url": "https://t.co/7SzJl0jTOo",
"username": "taycaldwell",
"location": "San Francisco, CA",
"verified": true,
"created_at": "2023-10-23T13:44:53.000Z"
}
},
"broadcast_id": "1qxvvvyLLdnxB",
"event_type": "spaces_end"
}
}
}
Eventos de silenciamiento
Los eventos de silenciamiento utilizan un par de usuariossource / target similar a los eventos de seguimiento. Eventos privados: requieren autenticación con contexto de usuario con el scope mute.read. El filtro user_id corresponde al usuario que realiza el silenciamiento o el dejar de silenciar (no a la cuenta que se silencia).
mute.mute
Se activa cuando el usuario filtrado silencia a otro usuario.
mute.unmute
Se activa cuando el usuario filtrado deja de silenciar a otro usuario.
Eventos de bloqueo
Los eventos de bloqueo utilizan un par de usuariossource / target similar a los eventos de seguimiento. Eventos privados: requieren autenticación con contexto de usuario con el scope block.read. El filtro user_id corresponde al usuario que realiza el bloqueo o desbloqueo (no a la cuenta que se bloquea).
block.block
Se activa cuando el usuario filtrado bloquea a otro usuario.
block.unblock
Se activa cuando el usuario filtrado desbloquea a otro usuario.
Eventos de OAuth
oauth.revoke
Se activa cuando un usuario revoca el acceso de tu aplicación. El filter puede estar vacío. Utilízalo para limpiar el estado local del usuario cuyo acceso fue revocado.
{
"data": {
"event_uuid": "5934540941047412905",
"filter": {},
"event_type": "oauth.revoke",
"payload": {
"date_time": "2026-07-23T21:44:05+00:00",
"user_id": "1830023695835787264",
"app_id": "29820954"
}
}
}
Próximos pasos
Introducción
Tipos de eventos admitidos, privacidad y autenticación
Inicio rápido
Crea una suscripción y recibe eventos
Flujo de actividad
Conéctate al stream HTTP persistente
Webhooks
Entrega eventos de actividad a la URL de tu webhook