# aiReview.correct

Append an evidence-backed human correction bound to the exact conversation snapshot. Sentiment stays separate from accuracy. Requires correct and read grants for this exact owner. Human dashboard or terminal only.

`POST /api/v1/accounting/aiReview.correct`

Permissions: `accounting:read`, `accounting:write` · Roles: admin, finance, contributor

Not available over MCP: Private redacted chats and human review stay in Oatmilk and its terminal; connected AI apps receive no reviewer access or chat sharing.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `sessionId` | string | Yes | Matches ^[A-Za-z0-9_-]{1,200}$. |
| `snapshotHash` | string | Yes | SHA-256 hash as 64 lowercase hex characters. |
| `expectedAnswer` | string | Yes | 1–10000 characters. |
| `assessments` | array of objects | Yes | at most 50 items. |
| `assessments[].dimension` | enum | Yes | One of: `groundedAccuracy`, `calculations`, `completeness`, `usefulness`, `errorRecovery`. |
| `assessments[].verdict` | enum | Yes | One of: `pass`, `fail`, `unknown`, `not_applicable`. |
| `assessments[].messageId` | string | Yes | Matches ^[A-Za-z0-9_-]{1,200}$. |
| `assessments[].evidence` | string | Yes | 1–2000 characters. |
| `assessments[].rationale` | string | Yes | 1–2000 characters. |
| `calculations` | array of objects |  | at most 20 items. Default `[]`. |
| `calculations[].messageId` | string | Yes | Matches ^[A-Za-z0-9_-]{1,200}$. |
| `calculations[].evidence` | string | Yes | 1–2000 characters. |
| `calculations[].operation` | enum | Yes | One of: `sum`, `difference`, `percent`. |
| `calculations[].operands` | array of strings | Yes | 2–20 items; each Matches ^-?\d{1,12}(?:\.\d{1,2})?$. |
| `calculations[].claimed` | string | Yes | Matches ^-?\d{1,12}(?:\.\d{1,2})?$. |
| `sentiment` | enum |  | One of: `positive`, `negative`, `neutral`, `unknown`. Default `"unknown"`. |

## Example request

```bash
curl https://app.getoatmilk.com/api/v1/accounting/aiReview.correct \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "sessionId": "session_id",
  "snapshotHash": "9f2b5c1d7e3a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c",
  "expectedAnswer": "example",
  "assessments": [
    {
      "dimension": "groundedAccuracy",
      "verdict": "pass",
      "messageId": "message_id",
      "evidence": "example",
      "rationale": "example"
    }
  ]
}'
```

Reference page: https://app.getoatmilk.com/docs/api/aiReview.correct
