Skip to content

HTTP API

For non-TypeScript backends (Python, Ruby, Go, etc.), you can call the Verify API directly over HTTP. The SDK’s TypeScript functions are thin wrappers around these two endpoints:

Create a session:

POST https://api.verify.spruceid.com/sessions
Authorization: Bearer {apiKey}

Returns JSON:

{
"id": "session_abc123",
"client_secret": "secret_xyz789",
"iframe_url": "https://iframe.verify.spruceid.com/session_abc123"
}

Fetch results:

GET https://api.verify.spruceid.com/sessions/{id}
Authorization: Bearer {apiKey}

Returns JSON:

{
"status": "success",
"response": {
"org.iso.18013.5.1": {
"family_name": "Doe",
"given_name": "Jane",
"birth_date": "1990-03-15"
}
},
"errors": {},
"warnings": {}
}

Both endpoints require the Authorization: Bearer {apiKey} header. The SDK uses a 5-second request timeout — we recommend a similar timeout in your HTTP client. The base URL defaults to https://api.verify.spruceid.com; use verifierUrl to override for staging or development.