---
title: "Delete Draft Tweet"
method: POST
path: "/draft/delete"
tags: ["Write Actions"]
---

# Delete Draft Tweet

`POST /draft/delete`

## Request

- Base URL: `https://api.twitterapis.com/twitter`
- URL: `https://api.twitterapis.com/twitter/draft/delete`
- Auth: HTTP bearer

Delete a draft owned by the account behind your registered session, identified by its id. The draft is removed from X's composer. Nothing was ever public, so this publishes nothing and retracts nothing. Billed at $0.0008 per call, the same as a standard read. Cost: $0.0008 per call.

## Request body

- object
  - `id` string, required: ID of the draft to delete, from draft/list. Also accepted as draft_tweet_id.

## Response `200`

Delete a draft from your own account by ID.

- object
  - `ok` boolean: True when the delete call reached X and X answered success (mirrors deleted).
  - `deleted` boolean: True when the delete call reached X and X answered success. X answers this operation with a confirmation rather than an id, so the body is not parsed for a per-row field: this is transport-level success, not a re-read of your drafts.
  - `draft_tweet_id` string: The draft ID you asked to delete, echoed back.

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `402`: Insufficient credits
- `403`: Forbidden
- `404`: Not found
- `429`: Rate limited
- `5XX`: Server error

---

[API](https://skmtc.dev/twitterapis/apis/twitterapis-api.md) · [All operations](https://skmtc.dev/twitterapis/apis/twitterapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/twitterapis/apis/twitterapis-api/revisions/a33ce0fedb3c?raw)
