Misar IO Docs

Drafts

List, approve, and reject AI-generated draft post variants in MisarSocial.

Overview

Drafts are post variants in draft or pending_review status. They are created by:

  • AI generation via /api/generate
  • GitHub webhook integrations (auto-generated release notes)
  • TrendPulse pipeline

Drafts must be approved before they can be scheduled.


List Drafts

GET /api/drafts

Returns up to 50 draft and pending-review post variants for the authenticated user, ordered by creation date descending.

Response

{
  "drafts": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "platform": "twitter",
      "caption": "Exciting news — our v2 API is live with 3x speed improvements! #API",
      "hashtags": ["API", "Engineering", "DevTools"],
      "tone": "professional",
      "status": "draft",
      "source": "ai_generated",
      "source_ref": null,
      "created_at": "2026-05-21T08:00:00+00:00"
    }
  ]
}
draftsarray

Array of post variant objects.

drafts[].platformstring

Platform this variant is optimized for: twitter, linkedin, instagram, threads, tiktok, bluesky.

drafts[].sourcestring

Origin of the draft: ai_generated, trendpulse, github_release, or manual.


Bulk Approve or Reject

POST /api/drafts

Approves or rejects one or more drafts by ID in a single request.

Body

actionstringrequired

Either "approve" or "reject".

idsstring[]required

Array of draft UUID strings to act on. Must have at least 1 item.

Example

{
  "action": "approve",
  "ids": [
    "550e8400-e29b-41d4-a716-446655440000",
    "6ba7b810-9dad-11d1-80b4-00c04fd430c8"
  ]
}

Response

{ "updated": 2 }
updatednumber

Number of drafts successfully updated.

Error Responses

StatusError
400Invalid body — missing action or ids
401Unauthorized
429Rate limit exceeded (20 bulk actions/minute)

Approved drafts move to approved status. They are not automatically scheduled — use the Schedule endpoint to queue them for publishing.