> ## Documentation Index
> Fetch the complete documentation index at: https://opentrain.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Approve Changeset

> Approve a submitted changeset (SUBMITTED → APPROVED).

Approves a `SUBMITTED` proposal, moving it to `APPROVED`. Approval does **not** write content — a separate [stored apply](/docs/developers/api-reference/instructions/apply-stored-changeset) executes it. Deciding a changeset not in `SUBMITTED` state is a `409`.

**Requirements:** `instructions:review` + workspace `REVIEWER` or `OWNER` + a verified (claimed) account.

## Request

<ParamField path="changesetId" type="string" required>
  The proposal to approve.
</ParamField>

<ParamField body="decisionNote" type="string">
  Optional reviewer note, stored as `decisionNote`.
</ParamField>

## Response

<ResponseField name="changeset" type="object">
  The updated record with `status: "APPROVED"`, `decidedAt`, and `decisionNote`.
</ResponseField>
