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
12 changes: 12 additions & 0 deletions changelog.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ 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 22, 2026" description="This week on the X Developer Platform">
### New features

- **Livestream API access form.** Request access to the [Livestream API](/livestream-api/introduction) through a single form that captures your organization, App ID, and use case. See the [Livestream API Access Form](/forms/livestream-api-access).
- **Expiring X Activity API subscriptions.** [`POST /2/account_activity/subscriptions`](/x-api/activity/create-x-activity-subscription) now accepts an optional `expires_at` (RFC 3339). Recreating the same subscription refreshes it; omitting it keeps the subscription permanent. `expires_at` is also returned on [get](/x-api/activity/get-x-activity-subscriptions) and [update](/x-api/activity/update-x-activity-subscription) responses.

### Updates

- **Batch Compliance moved to `api.x.com` signed URLs.** [Batch Compliance](/x-api/compliance/batch-compliance/introduction) upload and download URLs are now issued on `api.x.com` with `upload_expires_at` / `download_expires_at` fields. Requests to those URLs must include the App's `Authorization: Bearer` header in addition to the signed token; the legacy self-authorizing Google Cloud Storage URLs and resumable-upload mode no longer apply. Upload is a single `PUT` up to 1 GiB. See the [quickstart](/x-api/compliance/batch-compliance/quickstart) and the [integration guide](/x-api/compliance/batch-compliance/integrate) for the full lifecycle, error catalog, and event contract (including `rehydrate`, `tweet_edited`, and `scrub_geo` / `geo_scrubbed`).
- **Livestream API access is whitelist-gated.** [Create broadcast](/livestream-api/broadcasts/create-broadcast), [publish or end broadcast](/livestream-api/broadcasts/publish-or-end-broadcast), [delete broadcast](/livestream-api/broadcasts/delete-broadcast), and the [Sources](/livestream-api/sources/create-source) endpoints now note that your App must be whitelisted before calls will succeed.
</Update>

<Update label="Sep 17, 2026" description="X Ads API">
### Conversion API Google Tag Manager server-side template

Expand Down