Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,25 @@ keywords: ["changelog", "API updates", "release notes", "what's new", "API chang

To subscribe to updates, please [**“Turn on notifications”**](https://help.x.com/en/managing-your-account/notifications-on-mobile-devices#:~:text=In%20the%20top%20menu,%20you,you%20would%20like%20to%20receive) for [**@API**](https://x.com/api). You can also follow this changelog in your feed reader via the [**RSS feed**](https://docs.x.com/changelog/rss.xml).

<Update label="Sep 25, 2026" description="X API v2 and Livestream API">
### New features

- **Expiring X Activity API subscriptions:** Pass an optional `expires_at` (RFC 3339) when you create a subscription, and X deletes it automatically at that time. To change the expiration, send the same `POST /2/activity/subscriptions` request again with a new value. See [Subscription expiration](/x-api/activity/introduction#subscription-expiration).
- **OAuth 2.0 client secret for webhooks:** You can now use your app's OAuth 2.0 client secret for CRC responses and signature checks. X sends the new `X-Twitter-Webhooks-Signature-OAuth2` header when an OAuth 2.0 client secret is configured. The legacy `X-Twitter-Webhooks-Signature` header still works. See [Signature headers](/x-api/webhooks/introduction#signature-headers).
- **`is_moderator` on `broadcast.chat` events:** The [`broadcast.chat`](/x-api/activity/event-payloads) payload now shows whether the sender is a moderator. The broadcast owner is reported as `is_moderator: false`.

### Updates

- **Broadcast scopes in token exchange:** When you [exchange OAuth 1.0a tokens for OAuth 2.0](/fundamentals/authentication/oauth-2-0/oauth-1-0a-token-exchange), Read permission now also grants `broadcast.read`. Read and write permission now also grants `broadcast.write`.
- **Approve Chat join requests:** If a user has a pending join request, [adding them to a Chat group](/x-api/chat/add-members-to-a-chat-group-conversation) approves the request. Send the same key-rotation body you use to add any member.
- **Livestream API access:** The Livestream API is available to approved (whitelisted) apps. You no longer need an Enterprise plan. Request access with the [Livestream API Access Form](/forms/livestream-api-access).

### Bug fixes

- **Batch compliance upload limit:** We corrected the documented upload limit to **128 MB** (about 6.5 million IDs). Larger uploads return `413`. See [Batch compliance](/x-api/compliance/batch-compliance/integrate#uploads).
- **Removed `source` from `tweet.fields`:** We removed the deprecated `source` field from the [Post lookup field list](/x-api/posts/lookup/integrate).
</Update>

<Update label="Sep 21, 2026" description="X API v2">
### Migrate OAuth 1.0a user tokens to OAuth 2.0 with token exchange

Expand Down