Drafts
Save articles as drafts without publishing them.
Drafts
Save a Draft
POST /drafts
Saves an article as a draft. Drafts are private and not indexed by search engines.
Request Body
{
"title": "My Work-in-Progress Post",
"content": "## Introduction\n\nStill drafting...",
"excerpt": "Optional preview text",
"tags": ["ai", "tutorial"],
"featured_image_url": "https://..."
}
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| title | string | Yes | Draft title |
| content | string | No | Markdown body (can be partial) |
| excerpt | string | No | Preview text |
| tags | string[] | No | Tag slugs (max 5) |
| featured_image_url | string | No | Cover image URL |
Response
201 Created
{
"id": "uuid",
"slug": "my-work-in-progress-post",
"title": "My Work-in-Progress Post",
"created_at": "2026-04-15T09:00:00Z",
"updated_at": "2026-04-15T09:00:00Z"
}
Publishing a Draft
To publish a saved draft, use POST /articles with the same slug. The draft is converted to a published article automatically.
Example
curl -X POST https://api.misar.io/blog/v1/drafts \
-H "Authorization: Bearer mbk_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"title":"My Draft","content":"## Hello"}'
Errors
| Status | Description |
|--------|-------------|
| 401 | Invalid or missing API key |
| 400 | Missing required title field |