---
title: "Bulk approve or reject drafts"
method: POST
path: "/drafts"
tags: ["Drafts"]
---

# Bulk approve or reject drafts

`POST /drafts`

## Request

- Base URL: `https://api.misar.io/post`
- URL: `https://api.misar.io/post/drafts`
- Auth: API key in header `Authorization`

Approves or rejects a batch of draft variant IDs in one call. Rate limit: 20 requests/minute.

## Request body

- BulkDraftActionRequest
  - `action` 'approve' | 'reject', required
  - `ids` string[], required

## Response `200`

Number of drafts updated.

- BulkDraftActionResponse
  - `updated` integer, required

## Other responses

- `400`: Request body failed schema validation. `error` is a Zod `flatten()`-shaped object (`fieldErrors` / `formErrors`), not a plain string.
- `401`: Missing, malformed, revoked, or invalid API key/session.
- `402`: Plan limit: no active plan (any write; `reason: "no_active_plan"`), a monthly allowance is spent, or the feature is not on the caller's plan. Detect by `code: "plan_limit_exceeded"`.
- `403`: The API key lacks the scope this operation requires (`code: "insufficient_scope"`, `required_scope`).
- `429`: Per-user, per-route rate limit exceeded for this endpoint.

---

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