# Verify a signed document

**POST** `/verify/`

Public, unauthenticated endpoint for verifying that a PDF was signed
through Blueink.

Submit the SHA-256 hash of a PDF file. Blueink checks whether the
hash matches any signed PDF, combined PDF, or Certificate of Execution
(COE) produced for a completed Bundle.

**Authentication**: none required. The endpoint is rate-limited for
anonymous callers.

**Use cases**

- Let recipients self-verify a document they received.
- Build a verification widget into your own portal.
- Audit-trail checks by third parties without API credentials.

**Response codes**

- `200` — Hash matched a Blueink-produced document (`status: verified`).
- `400` — Hash did not match any document (`status: invalid`) or the
  request was malformed (missing / invalid hash).
- `429` — Rate limit exceeded.

## Request

### Request Body

- `application/json` — VerifyRequest (object) required: hash

### Responses

- `200`: The document was verified successfully.
  - Content types: `application/json`
- `400`: The hash did not match any Blueink document (`status: invalid`),
the `hash` field was absent, or the value is not a valid
64-character hex SHA-256 digest.

  - Content types: `application/json`
- `429`: Rate limit exceeded.
  - Content types: `application/json`
