> ## Documentation Index
> Fetch the complete documentation index at: https://hs-df36fa00.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Verify a Receipt — POST /v1/receipts/:receipt_id/verify

> Submit a verification verdict for an execution receipt. Supports manual and automated verifiers. Returns the updated VerificationRecord.

Submits a verification verdict for the specified receipt and returns the resulting `VerificationRecord`. Both human reviewers and automated verifiers use this endpoint.

## Path Parameters

<ParamField path="receipt_id" type="string (UUID)" required>
  The UUID of the execution receipt to verify.
</ParamField>

## Request Body

<ParamField body="verifier_id" type="string" required>
  Identifier of the verifier submitting this verdict (e.g. `"auditor-1"` or `"auto-verifier"`).
</ParamField>

<ParamField body="verdict" type="string" required>
  The verification outcome. One of `not_required`, `pending`, `verified`, or `failed`.
</ParamField>

<ParamField body="automated" type="boolean">
  Set to `true` when the verdict is produced by an automated system. Defaults to `false`.
</ParamField>

<ParamField body="reason" type="string">
  Optional human-readable explanation for the verdict, especially useful when `verdict` is `failed`.
</ParamField>

## Response

Returns a `VerificationRecord` object.

<ResponseField name="receipt_id" type="string (UUID)" required>
  The UUID of the receipt this verification applies to.
</ResponseField>

<ResponseField name="verifier_id" type="string" required>
  Identifier of the verifier that submitted this verdict.
</ResponseField>

<ResponseField name="verdict" type="string" required>
  The recorded verdict. One of `not_required`, `pending`, `verified`, or `failed`.
</ResponseField>

<ResponseField name="automated" type="boolean" required>
  Whether this verdict was produced by an automated verifier.
</ResponseField>

<ResponseField name="reason" type="string">
  Explanation provided by the verifier, if any.
</ResponseField>

<ResponseField name="verified_at" type="string (ISO 8601)" required>
  UTC timestamp when this verification record was created.
</ResponseField>

## Errors

| Status | Description                                    |
| ------ | ---------------------------------------------- |
| `404`  | No receipt with the given `receipt_id` exists. |

## Example

```bash theme={null}
curl -X POST http://your-node:8042/v1/receipts/018f4e2a-1c3b-7d90-a1b2-3c4d5e6f7890/verify \
  -H 'content-type: application/json' \
  -d '{
    "verifier_id": "auditor-1",
    "verdict": "verified"
  }'
```

### Example response

```json theme={null}
{
  "receipt_id": "018f4e2a-1c3b-7d90-a1b2-3c4d5e6f7890",
  "verifier_id": "auditor-1",
  "verdict": "verified",
  "automated": false,
  "verified_at": "2025-01-15T11:00:00Z"
}
```
