> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# X Activity API 이벤트 페이로드 예시

> Post, 좋아요, 팔로우, 프로필 업데이트, 채팅, DM, 뮤트, 차단, Spaces, 뉴스, OAuth 해제 등 X Activity API 이벤트에 대한 샘플 JSON 페이로드입니다.

X Activity API가 전달하는 이벤트([영구 HTTP 스트림](/x-api/activity/activity-stream) 또는 [웹훅](/x-api/webhooks/introduction)을 통해)는 공통 envelope 구조를 공유합니다:

| 필드           | 설명                                        |
| ------------ | ----------------------------------------- |
| `event_uuid` | 이 이벤트 전달에 대한 고유 식별자                       |
| `filter`     | 매칭된 필터 (예: `user_id` 또는 `keyword`)        |
| `event_type` | 구독된 이벤트 유형                                |
| `tag`        | 구독의 선택적 태그 (설정된 경우)                       |
| `payload`    | 이벤트별 데이터                                  |
| `includes`   | 사용 가능한 경우 확장된 객체(users, tweets 등) (선택 사항) |

```json title="post.create" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "data": {
    "event_uuid": "2080761390344937796",
    "filter": {
      "user_id": "1716450569358098432"
    },
    "event_type": "post.create",
    "tag": "my post create",
    "payload": {},
    "includes": {}
  }
}
```

아래 예시는 실제 환경에서 나타나는 대표적인 페이로드입니다. 필드 가용성은 계정 설정, 확장(expansions), 전달 시점의 객체 상태에 따라 달라질 수 있습니다. 지원되는 이벤트 유형 전체 목록과 인증 요구사항은 [소개](/x-api/activity/introduction)를 참조하세요.

***

## Post 이벤트

### `post.create`

필터링된 사용자가 Post를 생성할 때 발생합니다. `payload`는 Post 객체이며, `includes`에는 관련 사용자 및 트윗이 포함될 수 있습니다.

```json title="post.create" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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가 포함됩니다.

```json title="post.delete" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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에서 @멘션할 때 발생합니다. 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.

```json title="post.mention.create" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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와 관련 사용자가 포함될 수 있습니다.

```json title="like.create" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`(팔로우되는 사용자)이 포함됩니다.

```json title="follow.follow" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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` 구조를 가집니다.

```json title="follow.unfollow" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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)를 업데이트할 때 발생합니다.

```json title="profile.update.bio" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`

필터링된 사용자가 프로필 사진을 업데이트할 때 발생합니다.

```json title="profile.update.profile_picture" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`

필터링된 사용자가 프로필 배너를 업데이트할 때 발생합니다.

```json title="profile.update.banner_picture" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`

필터링된 사용자가 표시 이름을 업데이트할 때 발생합니다.

```json title="profile.update.screenname" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`

필터링된 사용자가 프로필 위치를 업데이트할 때 발생합니다.

```json title="profile.update.geo" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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을 업데이트할 때 발생합니다.

```json title="profile.update.url" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`

```json title="chat.received" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`

```json title="chat.sent" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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` 맵이 포함됩니다.

```json title="dm.sent" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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` 맵). 비공개 이벤트로, 사용자 컨텍스트 인증이 필요합니다.

```json title="dm.received" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`            | 선택적 면책 조항 텍스트     |

```json title="news.new" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`가 포함됩니다.

```json title="spaces.start" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`입니다.

```json title="spaces.end" expandable lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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`는 비어 있을 수 있습니다. 해제된 사용자에 대한 로컬 상태를 정리하는 데 사용하세요.

```json title="oauth.revoke" lines wrap icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-brackets.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=ed2428e77bab43e57800e1a590e982fa" theme={null}
{
  "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"
    }
  }
}
```

***

## 다음 단계

<CardGroup cols={2}>
  <Card title="소개" icon="https://mintcdn.com/x-preview/Vn2KEkZaPF9LiPi3/icons/xds/icon-book.svg?fit=max&auto=format&n=Vn2KEkZaPF9LiPi3&q=85&s=22ac564792481d14ae36a941546039c8" href="/x-api/activity/introduction" width="24" height="24" data-path="icons/xds/icon-book.svg">
    지원되는 이벤트 유형, 프라이버시 및 인증
  </Card>

  <Card title="빠른 시작" icon="https://mintcdn.com/x-preview/oR-aRNyj1BKPJtxM/icons/xds/icon-rocket.svg?fit=max&auto=format&n=oR-aRNyj1BKPJtxM&q=85&s=b978d7a9225de31709efbbed5b84e92d" href="/x-api/activity/quickstart" width="24" height="24" data-path="icons/xds/icon-rocket.svg">
    구독을 생성하고 이벤트 수신하기
  </Card>

  <Card title="활동 스트림" icon="water" href="/x-api/activity/activity-stream">
    영구 HTTP 스트림에 연결하기
  </Card>

  <Card title="웹훅" icon="webhook" href="/x-api/webhooks/introduction">
    활동 이벤트를 웹훅 URL로 전달하기
  </Card>
</CardGroup>
