---
title: "Approve a local controlled action"
method: POST
path: "/controlled-action/approve"
---

# Approve a local controlled action

`POST /controlled-action/approve`

## Request

- Base URL: `https://api.gravityads.dev` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gravityads.dev/controlled-action/approve`
- Auth: HTTP bearer

Approves a local ledger draft for controlled execution through the selected adapter.

## Request body

- object
  - `action_id` string, required
  - `request_id` string, required
  - `approved_by` string
  - `confirmation` string
  - `approval_note` string
  - `internal_override` boolean
  - `audit_context` object

## Response `200`

Approval result

- object
  - `schema_version` string
  - `status` string, required
  - `action_id` string
  - `request_id` string
  - `controlled_action` object
  - `authority_flags` object
    - `platform_write_allowed` boolean
  - `result` object

---

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