Documentation
VerifyHuman has four customer-facing surfaces. Pick the one that matches what you're building.
Live · v0.5.0
SDK
Embed the verify widget — HTML drop-in, React, Next.js, or vanilla TypeScript. Five paths, same engine, all server-integrated.
Live — connect via OAuth
MCP server
Manage projects, rotate signing keys, mint demo keys, inspect analytics — from Claude Desktop, Claude Code, or any MCP-compatible client. Hosted OAuth, zero install.
Live
Server API
Full REST reference: token verification (single + batch), project provisioning, analytics, sessions, and JWKS.
Live
Webhooks
Event payload contract + retry behavior. PENDING → SUCCEEDED / EXHAUSTED state machine, 5 attempts, terminal-4xx skip, idempotency keys.
Where things live
- Embed the widget on a public page — start with the SDK guide.
- Verify a token server-side — see the API reference.
- Provision projects from your backend — server-to-server
POST /projects/provision, see the API reference. - Receive event callbacks — see the webhook contract.
- Automate admin tasks via an LLM client — the MCP guide.
- Already a customer? Project-specific snippets with your real site key live on your dashboard, under each project's Integrate tab.
What shipped 2026-05-19
- VH-01:
POST /projects/provision— server-to-server project creation withexternalIdfor cross-reference. - VH-02: SDK init accepts
respondentIdandmetadata; HTML drop-in viadata-respondent-id/data-metadata. - VH-04: v2 webhook payload now includes
respondent_id,metadata, ISOtimestamp. - VH-05:
POST /token/verify-batch— batch up to 100 tokens per call. - VH-08:
GET /projects/{id}/analyticswith X-API-Key auth — REST equivalent of the dashboard analytics page. - HTML drop-in flipped to server-integrated mount (was local- only). Drop-in customers now get real sessions, signed tokens, and webhook fires.
- SDK default
apiEndpointconsolidated and pointed at production.