---
title: "Verify an OpenTimestamps detached proof against a digest and optional header(s)"
method: POST
path: "/verify-anchor"
---

# Verify an OpenTimestamps detached proof against a digest and optional header(s)

`POST /verify-anchor`

## Request

- Base URL: `https://api.whitemagic.dev`
- URL: `https://api.whitemagic.dev/verify-anchor`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-WM-Key`
  - API key in header `X-PAYMENT`

## Request body

- object
  - `proof` string, required: base64 of the .ots detached proof
  - `digest` string, required
  - `headers` object

## Response `200`

anchor status

- AnchorResult
  - `status` 'verified' | 'unverified' | 'mismatch' | 'invalid', required
  - `code` string, required
  - `detail` string
  - `file_digest` string
  - `attestations` object[]
  - `confirmed` object, nullable

## Other responses

- `400`: invalid JSON or shape
- `401`: missing or invalid key
- `429`: Daily cap reached (Retry-After: 86400; X-RateLimit-* report the bucket)

---

[API](https://skmtc.dev/whitemagic/apis/whitemagic-receipt-verification-api.md) · [All operations](https://skmtc.dev/whitemagic/apis/whitemagic-receipt-verification-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whitemagic/apis/whitemagic-receipt-verification-api/revisions/92a4341eb473?raw)
