Skip to main content
POST
Tweet Draft API for Saved Post Creation & Review

Save a Tweet Draft Before Publishing

Use this route to store tweet text without posting it to X. Add a topic and goal when later review needs the draft’s purpose. Keep the returned draft ID for retrieval, editing, deletion, or a separate publishing workflow. A saved draft differs from a published tweet. Draft creation does not return a public tweet ID. It does not send text to followers or create engagement metrics. Use the tweet write route only after the final text is approved. This route stores one text draft. It does not store thread order, media, or a reply target. Keep those publishing details in your workflow record. Use one draft ID as the workflow checkpoint. Fetch that exact draft before editing or approval. List drafts only when a person must browse several saved posts.
Free - does not consume credits

Headers

string
required
Your API key. Session cookie authentication is also supported. Generate a key from the dashboard.
string
required
Must be application/json.

Body

string
required
The draft tweet text. Must be non-empty. Maximum 25,000 characters.
string
Topic the tweet is about. Used for composition guidance. Maximum 500 characters (silently truncated if longer).
string
Optimization goal. One of: engagement, followers, authority, conversation. Invalid values are silently ignored.

Response

201 Created

string
Unique draft ID.
string
The draft tweet text.
string
Topic the tweet is about. Omitted if not set.
string
Optimization goal. Omitted if not set.
string
ISO 8601 creation timestamp.
string
ISO 8601 last update timestamp.

400 Invalid Input

Missing or empty text field.

401 Unauthenticated

Missing or invalid API key.

429 Rate Limited

Too many requests. Wait for the Retry-After header before retrying.
Next steps: List Drafts to see all your drafts, Get Draft to fetch a specific draft, or Delete Draft to remove one.