# `POST /v1/proof-of-address/read` — Read a proof of address

The proof-of-address reader on a bill or statement: name match against the name you send, address, issue date and age, issuer, document type, QR-bill and PDF forensics. It assists and never approves. Asynchronous: answers 202, then proof_of_address.read.completed. CHF 0.25 when the reader read the file; refunded when it could not. Needs the poa:read scope. The file is not stored.

Parameters:
- `Idempotency-Key` (header, string): Reuse on retries (printable non-space ASCII). For 24 hours the same key and the same request return the saved answer and check id without a second charge; a different request under the key returns 409.

Body:
- `given_names` (string, required)
- `surname` (string, required)
- `country` (string): Expected country of the address, ISO 3166-1.
- `postcode` (string): Expected postcode; answered as postcode_match.
- `max_age_days` (integer) One of `30`, `60`, `90`, `180`.
- `reference_id` (string): Your own id, echoed in the answer.
- `sandbox_outcome` (string): Sandbox keys only: which test answer to return. No model runs and nothing is charged. One of `pass`, `review`, `unreadable`.
- `file` (string, required): PDF, JPEG, PNG, WebP, HEIC or AVIF, at most 10 MB.

Responses:
- 202: Accepted. Poll the check or wait for its webhook.
- 400: Invalid input.
- 401: Missing, unknown or expired API key.
- 402: The balance does not cover the check.
- 403: The key lacks the product's scope, its IP allowlist refuses the caller, or (code production_not_allowed) the organization may not use production yet.
- 409: The Idempotency-Key is in progress (Retry-After: 1) or was used with a different request.
- 413: A file or the body is too large.
- 415: A file is not of an accepted type (checked by its bytes, not its name), or the body is neither multipart nor JSON.
- 429: More than 60 calls in a minute for this product.
- 503: The check could not run on our side. Nothing was charged; retry later with the same Idempotency-Key.
