How to Edit a Tweet with Twitter Blue and Verify the Edit History
Learn how to edit a tweet with Twitter Blue, verify the edit history in the UI and via the Twitter API v2, and understand the limits and recovery options.
26 Apr 2026, 00:06 UTC

Desired outcome
After completing this guide you will be able to edit a tweet within the 30‑minute window available to Twitter Blue subscribers, see the edit‑history indicator in the UI, and confirm the edit history through the Twitter API v2.
Prerequisites
- An active Twitter Blue subscription.
- Access to the Twitter web interface or official mobile app (the edit button appears in both).
- If you plan to verify via API: a bearer token with tweet.read scope and the ability to make HTTPS requests to
api.twitter.com. - The tweet you want to edit must be less than 30 minutes old.
Procedure
- Compose and publish a tweet as you normally would.
- Wait until the tweet is under 30 minutes old (you can check the timestamp in the UI).
- Locate the tweet, click the three‑dot menu (•••) and select Edit Tweet.
- Make the desired changes in the editor and click Update.
- The tweet will now display a small clock‑icon with the label “Edited” near the timestamp.
Verification via the UI
- Open the edited tweet.
- Click the edited‑timestamp or the clock‑icon to open the edit‑history modal.
- The modal lists each version with its timestamp; the most recent version appears at the top.
- Confirm that the original tweet text and your edited text are both present in the list.
Verification via the Twitter API v2
To retrieve the edit history programmatically, request the tweet object and ask for the edit history IDs.
curl -H "Authorization: Bearer $BEARER_TOKEN" \
"https://api.twitter.com/2/tweets/:tweet_id?expansions=edit_history_tweet_ids&tweet.fields=edit_history_tweet_ids"
Replace $BEARER_TOKEN with your valid bearer token and :tweet_id with the numeric ID of the tweet (the immutable ID does not change when edited).
The response will include a edit_history_tweet_ids array containing the IDs of all versions, ordered from oldest to newest. Example structure (values are illustrative):
{
"data": {
"edit_history_tweet_ids": ["1234567890123456789","1234567890123456790"]
}
}
You can then fetch each ID individually to see the exact text of each version if needed.
Expected checks
- UI: the edited timestamp shows a clock icon and the edit‑history modal is accessible.
- API: HTTP 200 response,
edit_history_tweet_idsfield present with at least two IDs (original and edited). - Rate‑limit headers (
x-rate-limit-remaining,x-rate-limit-reset) should behave like any other tweet request.
Limitations and considerations
- Edit history is retained for only seven days; after that the
edit_history_tweet_idsarray will no longer be returned via the API and the UI will not show prior versions. - Editing a tweet does not change its immutable ID, so embedded tweets, cached copies, or third‑party displays may still show the original text.
- Each edit counts toward the same rate limits as creating a new tweet; you are allowed a maximum of five edits per tweet within the 30‑minute window.
- If your Twitter Blue subscription lapses, the edit option disappears and any attempt to edit via the API returns HTTP 403.
Recovery options
- If you try to edit after the 30‑minute window, the edit button is greyed out and the API returns HTTP 400 with a message indicating the edit window has expired. In this case you can delete the tweet and publish a corrected version.
- If you receive a 403 error, verify that your Twitter Blue subscription is active and that your bearer token belongs to a Blue‑eligible account.
- If the edit‑history modal does not appear, ensure the tweet is still under 30 minutes old and that you are using the latest version of the Twitter client.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.