---
title: "Issue a signed verification receipt"
method: POST
path: "/v1/verify"
---

# Issue a signed verification receipt

`POST /v1/verify`

## Request

- Base URL: `https://api.thoughtproof.ai`
- URL: `https://api.thoughtproof.ai/v1/verify`
- Auth: API key in header `X-API-Key`

Verify a claim and receive an EdDSA-signed receipt (JWT + blockHash). Requires a real registered agentId from POST /v1/agents. Supports operator-key and x402 payment flows.

## Request body

- object
  - `agentId` string, required
  - `claim` string, required
  - `verdict` 'ALLOW' | 'BLOCK' | 'UNCERTAIN', required
  - `domain` string
  - `metadata` object

## Response `201`

Receipt issued

- object
  - `receiptId` string
  - `verdict` string
  - `score` number
  - `jwt` string: Signed receipt JWT (EdDSA)
  - `blockHash` string
  - `verifyUrl` string
  - `proof` object: Self-describing proof: carries kid, jwks_uri, verify_proof_url and claim_hash so any receiver can verify offline without trusting ThoughtProof or the presenter.
    - `format` string
    - `jwt` string
    - `alg` string
    - `kid` string
    - `issuer` string
    - `jwks_uri` string
    - `verify_proof_url` string
    - `claim_hash` string

---

[API](https://skmtc.dev/thoughtproof/apis/thoughtproof-reasoning-verification-api.md) · [All operations](https://skmtc.dev/thoughtproof/apis/thoughtproof-reasoning-verification-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thoughtproof/apis/thoughtproof-reasoning-verification-api/revisions/53c58d95a03a?raw)
