Proposes the article's full new text for review, without changing the live article. It shows up in Drafts → To review and in GET /drafts.
bash
curl -X POST "https://usedocs.app/v1/articles/export-invoices/drafts" \
-H "Authorization: Bearer $USEDOCS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"contentMarkdown":"…the whole article, edited…","reason":"CSV export moved under Reports"}'Authentication
Bearer token (content:write): A workspace API key: ud_live_…
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | Yes | Article id or slug. |
format | query | string | contentMarkdown (default) or contentHtml. | |
bot_id | query | string | Only for a key that covers several bots (see GET /bots). Or send the Usedocs-Bot header. |
Request body
Required, application/json.
| Field | Type | Required | Description |
|---|---|---|---|
contentMarkdown | string | Yes | |
title | string | ||
reason | string | ||
sourceUrl | string | The PR, issue, or page behind the edit. |
Responses
| Status | Description |
|---|---|
201 | The proposed edit. |
400 | The request is missing something or has a bad value. |
401 | No API key, or the key is revoked. |
402 | The workspace is paused; reads still work. |
403 | A read key on a write, or a key for another bot. |
404 | Not found. |
429 | Rate limited: 120 requests a minute per key, 30 tasks an hour. See Retry-After. |
Response fields
| Field | Type | Description |
|---|---|---|
id | string | |
type | string | |
status | string | One of: pending, accepted, dismissed. |
articleId | `string | null` |
title | string | |
contentMarkdown | string | |
diff | string | Edits: a unified diff from the live article to the proposal. |
linesAdded | integer | |
linesRemoved | integer | |
reason | string | |
evidence | object | |
conflict | boolean | |
createdAt | string (date-time) |