---
title: "[Step 1/5] Create a new article draft"
method: POST
path: "/x/articles/draft"
tags: ["Article Endpoints"]
---

# \[Step 1/5\] Create a new article draft

`POST /x/articles/draft`

## Request

- Base URL: `https://api.twexapi.io`
- URL: `https://api.twexapi.io/x/articles/draft`
- Auth: HTTP bearer

**Step 1 of 5** — Create an empty draft and get an `article_id`.

The `article_id` returned here is required by all subsequent steps.

**Full flow:**
1. ➡️ `POST /x/articles/draft` — get `article_id`
2. `PUT  /x/articles/{article_id}/cover` — *(optional)* set cover image
3. `PUT  /x/articles/{article_id}/title` — set title
4. `PUT  /x/articles/{article_id}/content` — set body (Markdown)
5. `POST /x/articles/{article_id}/publish` — publish and get `tweet_id`

> 💡 **Tip:** For full control (e.g. preview before publish, retry individual steps), use the step-by-step flow above. Use `POST /x/articles/publish` only for quick one-shot publishing.

## Request body

- ArticleCreateDraftBody
  - `cookie` string, required: The user's own authorized Twitter session credentials or auth_token (BYOC — Bring Your Own Cookie). Stateless proxy execution with zero credential retention. See [Authentication Security](/authentication#write-operations--byoc-bring-your-own-cookie) and [How to get Cookie](https://youtube-promotion.pages.dev/how-to-get-twitter-cookie).

## Response `200`

Successful Response

- ArticleDraftResponse
  - `code` integer, required: 200 = success, 429 = rate limit, 500 = server error
  - `msg` string, required: Human-readable result message
  - `data` ArticleDraftData
    - `article_id` string, required: Unique article draft ID, required by all subsequent steps
    - `preview_url` string, required: URL to preview the draft in X composer: https://x.com/compose/articles/edit/{article_id}

## Other responses

- `422`: Validation Error
- `429`: Daily tweet limit reached
- `500`: Server error

---

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