---
title: "Approve or dismiss a tenant-scoped correction"
method: POST
path: "/api/v2/corrections/{id}"
tags: ["Own-site execution"]
---

# Approve or dismiss a tenant-scoped correction

`POST /api/v2/corrections/{id}`

## Request

- Base URL: `https://www.hireeli.io`
- URL: `https://www.hireeli.io/api/v2/corrections/{id}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Path parameters

- `id` string, uuid, required

## Headers

- `x-eli-tenant` string, uuid

## Request body

- CorrectionDecisionRequest: Requires write:own-site for an API key.
  - `action` 'approve' | 'dismiss', required
  - `confirm` true: Must be the JSON boolean true. Strings, numbers and free-text phrases are rejected.
  - `confirmed_preview_hash` string: SHA-256 confirmation binding for the exact tool, workspace, resource and preview returned by the immediately preceding preview response.

## Response `200`

The decision completed. The response is a machine-readable receipt.

- ProtocolReceipt
  - `decision` string, required: The exact accepted operation.
  - `resourceId` string, required: The decided resource ID.
  - `status` string, required: The state Eli verified after the decision.
  - `url` string, uri, nullable, required
  - `revertible` boolean, required: Whether Eli exposes a guarded machine revert for this completed action.
  - `revert_hint` string, nullable, required: The exact safe next step for a revert or immutable follow-up.
  - `caps` object, nullable, required: Durable protocol write counter returned by the shared execution core.
    - `used` integer, required
    - `limit` integer, required
    - `window` 'day', required
  - `audit_id` string, uuid, nullable, required: Durable protocol-decision audit row for this machine write.
  - `change_id` string, uuid, nullable: Exact owned-site change reconciled by a content rollback, when applicable.
  - `publication_receipt_id` string, uuid, nullable: Immutable publication receipt preserved across rollback.
  - `reversal_receipt_id` string, uuid, nullable: Immutable verified rollback receipt, when rollback completed.

## Other responses

- `400`: Invalid JSON body, action, resource ID or publication target. No write occurred.
- `401`: Credential missing, invalid, expired or revoked.
- `403`: Workspace, role, scope, plan or feature does not permit this operation.
- `404`: The resource is not visible in this workspace.
- `409`: Literal confirmation or the exact current preview hash is missing/stale, or the resource lifecycle conflicts with the decision. No unverified write should be assumed.
- `422`: Stored content failed the mandatory safety or evidence gate. Nothing was published.
- `429`: Request or durable protocol cap reached.
- `503`: A required security, billing, cap, audit, evidence or storage check is unavailable. Writes fail closed.

---

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