Drafts
Create a tweet draft for review with the Xquik API
Save one Xquik tweet draft with text, optional topic and goal, 25,000-character validation, API authentication, and clear 400, 401 or 429 recovery steps.
- 201
- 400
- 401
- 429
POST
Create a tweet draft for review with the Xquik API
Save a tweet draft before publishing
Create one private tweet draft inside your authenticated Xquik account. Supply the proposed text and optional composition context. The response returns a stable Xquik draft ID for review or deletion. This request does not publish a tweet. It sends nothing to followers and creates no replies, reposts, likes, impressions, or public tweet ID. Xquik drafts are separate from X’s native Unsent posts. Creating a record here does not add anything to the X compose interface.Free. This endpoint does not consume credits.
Choose the tweet draft fields
Send a JSON object with 1 required field and 2 optional fields.
The supported
goal values are engagement, followers, authority, and
conversation. Match the lowercase value exactly.
The API silently omits an unsupported goal. It also omits a non-string goal.
Validate this field before sending the request.
The API silently truncates a topic longer than 500 characters. It omits a
non-string topic. Trim and validate the topic inside your client.
The text field behaves differently. Missing, empty, non-string, or oversized
text returns 400 invalid_input. Xquik never silently truncates draft text.
The 25,000-character storage limit is not a publishing guarantee. Confirm the
connected account’s X posting rules before a separate write request.
Read the created draft
A successful request returns201 Created and one draft object.
The API omits optional
topic and goal fields when unset or invalid. Do not
expect those keys to contain null.
The response contains no thread order, media attachment, reply target,
schedule, publishing status, or public tweet ID.
Build a tweet draft review workflow
Create a draft when a person or agent must approve text before publishing.- Prepare one exact tweet text string.
- Add a short topic when reviewers need context.
- Choose one supported composition goal.
- Create the Xquik draft once.
- Store the returned draft ID.
- Retrieve that ID before final approval.
- Compare text, context, and timestamps.
- Publish approved text through a separate X write route.
- Delete the saved draft after retention requirements allow it.
201 response before creating
again. After a lost response, list and reconcile drafts before retrying.
Use List Drafts to reconcile duplicate records.
Use Get Draft before publishing or deleting one.
Keep Xquik and native X drafts separate
Native X drafts appear under Unsent posts in the X compose interface. Native thread drafts can contain several connected posts. Native drafts can also carry photos, GIFs, or video. An Xquik draft stores one text string plus optional composition context. It does not mirror native draft features or publish automatically.
Keep thread items, media IDs, reply targets, and scheduling instructions in
your publishing workflow. Do not assume the draft response contains them.
Recover from draft creation errors
Never retry
400 without changing the body. Never retry 401 without
replacing the credential.
After 429, keep the submitted text. Retry only after the server’s delay.
Reconcile the list when the original request may have succeeded.
Tweet draft creation questions
How can I save a tweet draft through an API?
SendPOST /drafts with a JSON text string. Authenticate with an Xquik API
key or OAuth bearer token.
Does creating a draft publish the tweet?
No. The request stores private Xquik text only. Publish through a separate write route after approval.Does the draft appear in X unsent posts?
No. Xquik draft records and native X drafts are separate collections.Can one draft store a Twitter thread?
No. One draft stores one text string. Create and keep thread structure in your publishing workflow.Can I attach media or a reply target?
No. Draft fields contain no media or reply target. Add those details during a separate publishing request.Can I update a saved tweet draft?
No update route exists. Create a replacement, approve it, then delete the old record when safe.Does creating a tweet draft consume credits?
No. This authenticated draft creation request is free.Headers
string
An OAuth bearer token formatted as
Bearer YOUR_TOKEN. Send this header or x-api-key, not both.string
required
Must be
application/json.Body
string
required
Exact draft text. Send 1 to 25,000 characters. Oversized text returns
400.string
Optional composition topic. The API silently truncates values longer than 500 characters.
string
Optional goal:
engagement, followers, authority, or conversation. The API silently omits other values.Response
201 Created
string
Unique Xquik draft ID.
string
Exact accepted tweet text.
string
Optional accepted topic. Omitted when unset.
string
Optional accepted goal. Omitted when unset.
string
ISO 8601 creation timestamp.
string
ISO 8601 update timestamp.
400 Invalid input
text field is missing, empty, non-string, or longer than 25,000 characters.
401 Unauthenticated
429 Rate limited
Retry-After before retrying.
Next steps. List Drafts to list saved text, Get Draft to retrieve one record, or Delete Draft to remove it.