Get started
Quickstart
From signup to your first successful verification in five minutes. No KYC required for test mode. No sales call. Just an API.
A working integration that verifies a synthetic clinician's identity and license, receives a signed webhook event, and is ready to flip to production.
Get your test key
Sign up at dev.valyd.id with an email and password. No identity verification required for test mode — that's the whole point of test mode.
Your dashboard opens with a default project and a test secret key already provisioned. Copy it and export it locally:
$ export VALYD_SECRET_KEY="sk_test_4f8a3b2c1d9e7f6a5b4c3d2e1f0a9b8c"
Test keys begin with
sk_test_. Live keys begin withsk_live_. Same endpoints, same SDK calls — only the key prefix changes.Install an SDK
Use any HTTP client, but the SDK gives you typed responses, automatic retries, and idempotency by default.
$ npm install @valyd/nodeMake your first call
Hit the
/v1/identityendpoint with one of the synthetic test identities pre-seeded in your test environment.curl https://api.valyd.id/v1/identity/person_test_nurse_active \ -H "Authorization: Bearer $VALYD_SECRET_KEY"
Response
{ "id": "person_test_nurse_active", "object": "person", "livemode": false, "verified": true, "face_match": { "score": 0.99, "liveness": "passed" }, "licenses": [{ "type": "nurse", "number": "RN-TEST-001", "status": "active", "expires_at": "2027-06-30" }] }
Verify against a real-time check
Retrieving an identity returns its current state. To bind that state to a specific action, call
identity.verify. The response is a signed proof you can store in your audit log.const proof = await valyd.identity.verify({ person: "person_test_nurse_active", checks: ["face_match", "license:nurse"], context: "telehealth_session_8YQz" }, { idempotencyKey: "telehealth_session_8YQz_open" });
Receive a webhook
Verifications are synchronous, but other events happen asynchronously. Register a webhook URL and Valyd will POST a signed event to it. For local testing the CLI tunnels to your laptop:
$ valyd webhooks listen --forward-to localhost:3000/webhooks/valyd → Listening on whsec_test_a8f2b3c4...
Go to production
When you're ready, the path to live mode is a single click in the dashboard's Promote to production page. Replace
sk_test_…withsk_live_…and you're processing real verifications.
