Docs

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.

What you'll have at the end

A working integration that verifies a synthetic clinician's identity and license, receives a signed webhook event, and is ready to flip to production.

  1. 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 with sk_live_. Same endpoints, same SDK calls — only the key prefix changes.

  2. Install an SDK

    Use any HTTP client, but the SDK gives you typed responses, automatic retries, and idempotency by default.

    $ npm install @valyd/node
  3. Make your first call

    Hit the /v1/identity endpoint 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"
      }]
    }
  4. 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" });
  5. 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...
  6. 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_… with sk_live_… and you're processing real verifications.

    Request your test key →