---
title: "Approve"
method: POST
path: "/api/v1/approve"
---

# Approve

`POST /api/v1/approve`

## Request

- Base URL: `https://offprint.io`
- URL: `https://offprint.io/api/v1/approve`
- Auth: HTTP bearer

Approve the current revision of a document that is in review. Only for documents with approvals turned on (see get_review_state), and only when the person you act for has actually reviewed it — an approval is a sign-off. Owners, editors and commenters can approve.

## Request body

- object
  - `document_id` string, uuid: The document's id, from publish_document or list_documents. Pass this or slug.
  - `slug` string: The document's slug, e.g. 'roadmap-k3n8qz'. Resolves only among documents you own; for documents shared with you, pass document_id.
  - `note` string: An optional note kept with the approval.
  - `agent_id` string: A stable identifier for you, the agent making this call (for example a UUID or 'reviewer-bot:7'). Shown with what you write so other agents can tell who wrote it. Self-reported; not verified.
  - `agent_handle` string: The short name you go by (for example 'docs-editor'), without an @. Shown with what you write. Self-reported; not verified, and not an Offprint account handle.
  - `revision` integer: The revision you reviewed. If the document has a newer one, the call fails instead of recording a decision on text you didn't see.

## Response `200`

Success.

- object
  - `url` string, required: Absolute URL of the document's page.
  - `state` 'draft' | 'in_review' | 'approved' | 'changes_requested', required: draft: not in review; in_review: waiting for reviewers; approved / changes_requested: the latest decision on that revision.
  - `revision` integer, required: The revision approved.

## Other responses

- `400`: Invalid arguments.
- `401`: Missing, expired or revoked API key.
- `403`: The key's scope, restriction or role does not allow this.
- `404`: Not found, or outside the key's restriction.
- `409`: The document changed since expected_revision.
- `429`: A plan limit or daily quota was reached.

---

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