1
Get a test workspace and its keys
In the ProofAge console, create a test workspace with the check you need and copy its public key (
pk_test_…) and secret key (sk_test_…). Test workspaces are never billed.Set the workspace’s webhook URL to an endpoint on your backend. For local development, see receiving webhooks locally.2
Create a verification on your backend
The check comes from the workspace, so the request only says who the person is and where their browser goes afterwards. Sign it with the secret key: a server SDK does that for you, or see API authentication.The response (Store
201 Created) is the verification, with the url the person opens:id next to your user and return url to your page.3
Open it on your page
Load the Browser SDK and open the
url:onComplete means the person finished, not that they passed. See Browser SDK for every option, or send the person to the url instead of adding JavaScript.4
Receive the decision
ProofAge sends a signed webhook each time the verification reaches
review, resubmission_requested, approved, declined, abandoned or expired. Verify the signature, then update your user from status and reason. See Webhooks.A test workspace does not analyse anything: the submission stops in review until you set the outcome, on the verification’s page in the console (Approve, Decline or a resubmission with a reason) or with the MCP tool set-test-verification-outcome. Setting it sends the webhook. See Sandbox and test data.5
Read the result when you need it
Next steps
- Go-live checklist: switch to a live workspace.
- Verification statuses: every status and transition.
- Decision reasons: what
reasoncan say.