Valyd · Active Identity™ Infrastructure
Identity, credentials, and agent authorization. One API.
Verify a human. Prove a credential. Authorize an agent to act on their behalf. Valyd handles the proof — you handle your product.
# Verify a clinician's license, live, in one call curl https://api.valyd.id/v1/identity/verify \ -H "Authorization: Bearer sk_test_4f8a..." \ -H "Content-Type: application/json" \ -d '{ "person": "person_8YQz...", "checks": ["face_match", "license:nurse"], "context": "telehealth_session" }'
Four primitives
Same key, same SDK, same error model. Use one or all four.
Auth →
OAuth 2.0 and OIDC sign-in with biometric verification. Drop-in replacement for "Sign in with Google," with proof-of-personhood built in.
Identity →
Verify a real human, check a professional license, prove an attribute without revealing it. KYC and credential proofs in one resource.
Agents →
Authorize an AI agent to act on a verified human's behalf. Broker credentials, scope access, log every action — all without the agent ever holding a long-lived secret.
Webhooks →
Real-time events for every verification, credential change, agent action, and approval. Signed payloads, automatic retries, replay-safe.
Built for the way you ship
Test mode by default
Every account starts in test mode. Synthetic identities and licenses, predictable outcomes, zero PHI risk. Flip a flag for production — same endpoints, same SDKs.
Idempotency on everything
Pass an Idempotency-Key header on any state-changing request. Retries during network blips become safe by default — no double verifications, no duplicate approvals.
SDKs in 6 languages
TypeScript, Python, Go, Ruby, PHP, Java. Generated from our OpenAPI spec, typed end-to-end, versioned with the API. Or use any HTTP client.
Build with what you already know
If you've integrated Stripe, you already know how to integrate Valyd.
| You know this from Stripe | Valyd equivalent | Notes |
|---|---|---|
sk_test_ / sk_live_ | sk_test_ / sk_live_ | Same prefix convention. Hashed at rest, shown once. |
customer.created webhook | identity.created webhook | Same payload shape, same signing scheme. |
Idempotency-Key header | Idempotency-Key header | RFC-compliant. 24-hour replay window. |
stripe.customers.create() | valyd.identity.create() | Same builder pattern, typed responses. |
| Stripe Connect for marketplaces | Valyd Agents for AI workflows | Different domain, same delegation model. |
Ship today
Your first verification in five minutes.
Sign up, grab a test key, copy a curl command, hit a real endpoint. No KYC for sandbox access, no sales call, no waiting.
# 1. Get a test key $ valyd login → sk_test_4f8a3b2c1d9e7f6a... # 2. Hit a real endpoint $ valyd identity verify \ --person nurse.active@valyd.test → { "verified": true, ... } # 3. Ship it
