Customer API

The ZeroAge API lets your application request an age check and receive a result without receiving the person’s document identity data.

Start with the Quickstart or explore the v1 API reference.

Integration flow

  1. Create a verification with POST /v1/verifications.
  2. Send the returned verification_url to the person completing the check in the mobile app. Treat this URL as sensitive bearer access.
  3. Receive a verification.completed event when the request reaches a terminal state.
  4. Read data.original.result as yes, no, or unsure.
  5. Use later verification.status_changed events and data.current to track the current assessment.

The original decision stays unchanged. A later concern can require review. See Results and revisions for result meanings and handling rules.

Webhooks and optional recovery

Webhooks are the expected notification path for completion and later status changes. Configure two shared destinations for your application. Respond to ZeroAge’s ownership challenge using your webhook verification secret to confirm that you control each endpoint. Save each event before returning a 2xx response, then process it asynchronously. ZeroAge retries timeouts and non-2xx responses automatically; deliveries can repeat or arrive out of order. See Webhooks and recovery.

Webhook integrations do not need to poll routinely. The event feed is optional for recovery, troubleshooting, or customers who prefer polling. Verification lookup returns the latest state of one verification.

Use the Integration testing guide to check your result and event handling. For tool import, download the OpenAPI specification.