| 필드 | 설명 |
|---|---|
event_uuid | 이 이벤트 전달에 대한 고유 식별자 |
filter | 매칭된 필터 (예: user_id 또는 keyword) |
event_type | 구독된 이벤트 유형 |
tag | 구독의 선택적 태그 (설정된 경우) |
payload | 이벤트별 데이터 |
includes | 사용 가능한 경우 확장된 객체(users, tweets 등) (선택 사항) |
{
"data": {
"event_uuid": "2080761390344937796",
"filter": {
"user_id": "1716450569358098432"
},
"event_type": "post.create",
"tag": "my post create",
"payload": {},
"includes": {}
}
}
Post 이벤트
post.create
필터링된 사용자가 Post를 생성할 때 발생합니다. payload는 Post 객체이며, includes에는 관련 사용자 및 트윗이 포함될 수 있습니다.
{
"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
필터링된 사용자가 Post를 삭제할 때 발생합니다. payload에는 삭제된 Post ID와 작성자 ID가 포함됩니다.
{
"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
누군가 필터링된 사용자를 Post에서 @멘션할 때 발생합니다. 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.
{
"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"
}
]
}
}
}
좋아요 이벤트
like.create
필터링된 사용자가 Post에 좋아요를 누르거나 사용자의 Post 중 하나에 좋아요가 눌릴 때 발생합니다. 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다. 선택적 direction 필터(inbound 또는 outbound)를 지원합니다.
payload는 다음 필드를 가진 좋아요 객체입니다:
| 필드 | 설명 |
|---|---|
id | 좋아요 이벤트 ID |
liked_tweet_id | 좋아요가 눌린 Post의 ID |
liked_tweet_author_id | 좋아요가 눌린 Post의 작성자 |
created_at | 좋아요가 눌린 Post의 생성 시각(사용 가능한 경우) |
timestamp_ms | 이벤트 타임스탬프(밀리초 단위, 사용 가능한 경우) |
includes에는 좋아요가 눌린 Post와 관련 사용자가 포함될 수 있습니다.
{
"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"
}
]
}
}
}
팔로우 이벤트
follow.follow
필터링된 사용자가 다른 사용자를 팔로우하거나 팔로우될 때 발생합니다. payload에는 source(팔로우하는 사용자)와 target(팔로우되는 사용자)이 포함됩니다.
{
"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
필터링된 사용자가 다른 사용자를 언팔로우하거나 언팔로우될 때 발생합니다. follow.follow와 동일한 source / target 구조를 가집니다.
{
"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
}
}
}
}
}
프로필 이벤트
모든profile.update.* 이벤트는 공통된 before / after 페이로드 구조를 공유합니다.
지원되는 유형: 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
필터링된 사용자가 프로필 소개(bio)를 업데이트할 때 발생합니다.
{
"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
필터링된 사용자가 프로필 사진을 업데이트할 때 발생합니다.
{
"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
필터링된 사용자가 프로필 배너를 업데이트할 때 발생합니다.
{
"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
필터링된 사용자가 표시 이름을 업데이트할 때 발생합니다.
{
"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
필터링된 사용자가 프로필 위치를 업데이트할 때 발생합니다.
{
"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
필터링된 사용자가 프로필 웹사이트 URL을 업데이트할 때 발생합니다.
{
"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
필터링된 사용자가 @핸들을 업데이트할 때 발생합니다. 다른 프로필 이벤트와 동일한 before / after 페이로드 구조를 가집니다.
profile.update.verified_badge
필터링된 사용자의 인증 배지가 변경될 때 발생합니다. 다른 프로필 이벤트와 동일한 before / after 페이로드 구조를 가집니다.
profile.update.affiliate_badge
필터링된 사용자의 제휴(affiliate) 배지가 변경될 때 발생합니다. 다른 프로필 이벤트와 동일한 before / after 페이로드 구조를 가집니다.
채팅 이벤트 (XChat)
암호화된 채팅 페이로드에는 XChat 클라이언트 라이브러리에서 사용하는 불투명한 인코딩 필드가 포함됩니다. 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.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
사용자가 암호화된 채팅 대화에 참여할 때 발생합니다. 페이로드 구조는 다른 채팅 이벤트와 동일합니다(대화 식별자와 인코딩된 암호화 자료 포함). 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.
레거시 DM 이벤트
레거시(암호화되지 않은) DM 이벤트입니다. 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.dm.sent
필터링된 사용자가 암호화되지 않은 DM을 보낼 때 발생합니다. payload에는 direct_message_events와 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
필터링된 사용자가 암호화되지 않은 DM을 받을 때 발생합니다. dm.sent와 동일한 페이로드 구조를 가집니다(direct_message_events 및 users 맵). 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.
{
"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
참여자가 필터링된 사용자의 암호화되지 않은 DM을 읽을 때(읽음 확인) 발생합니다. 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.
dm.indicate_typing
참여자가 필터링된 사용자에게 메시지를 입력하고 있을 때 발생합니다. 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.
뉴스 이벤트
news.new
keyword로 필터링합니다. payload에는 카테고리, 이름, 후크, 요약, 컨텍스트, 관련 클러스터 Post 결과 등 Grok이 큐레이션한 뉴스 필드가 포함됩니다.
| 필드 | 설명 |
|---|---|
id | 뉴스 항목 ID |
name | 헤드라인 / 주제명 |
category | 뉴스 카테고리 |
hook | 짧은 후크 / 미리보기 |
summary | 더 긴 요약 |
contexts | 관련 주제 / 엔티티 컨텍스트 |
cluster_posts_results | 사용 가능한 경우 관련 Post |
updated_at | 마지막 업데이트 타임스탬프 |
disclaimer | 선택적 면책 조항 텍스트 |
{
"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"
}
}
}
Spaces 이벤트
spaces.start
필터링된 사용자가 Space를 시작할 때 발생합니다. payload에는 호스트 user, broadcast_id, 내부 event_type 값 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
필터링된 사용자가 Space를 종료할 때 발생합니다. spaces.start와 동일한 구조이며, 내부 event_type 값은 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"
}
}
}
뮤트 이벤트
뮤트 이벤트는 팔로우 이벤트와 유사하게source / target 사용자 쌍을 사용합니다. 비공개 이벤트로, mute.read 스코프가 포함된 사용자 컨텍스트 인증이 필요합니다. user_id 필터는 뮤트 또는 뮤트 해제를 수행하는 사용자와 매칭됩니다(뮤트되는 계정이 아닙니다).
mute.mute
필터링된 사용자가 다른 사용자를 뮤트할 때 발생합니다.
mute.unmute
필터링된 사용자가 다른 사용자의 뮤트를 해제할 때 발생합니다.
차단 이벤트
차단 이벤트는 팔로우 이벤트와 유사하게source / target 사용자 쌍을 사용합니다. 비공개 이벤트로, block.read 스코프가 포함된 사용자 컨텍스트 인증이 필요합니다. user_id 필터는 차단 또는 차단 해제를 수행하는 사용자와 매칭됩니다(차단되는 계정이 아닙니다).
block.block
필터링된 사용자가 다른 사용자를 차단할 때 발생합니다.
block.unblock
필터링된 사용자가 다른 사용자의 차단을 해제할 때 발생합니다.
OAuth 이벤트
oauth.revoke
사용자가 애플리케이션의 액세스 권한을 해제할 때 발생합니다. filter는 비어 있을 수 있습니다. 해제된 사용자에 대한 로컬 상태를 정리하는 데 사용하세요.
{
"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"
}
}
}
다음 단계
소개
지원되는 이벤트 유형, 프라이버시 및 인증
빠른 시작
구독을 생성하고 이벤트 수신하기
활동 스트림
영구 HTTP 스트림에 연결하기
웹훅
활동 이벤트를 웹훅 URL로 전달하기