Schemas

Claim payload

When encryptionKeyPem is null, claimPayload is a JSON string. Once parsed (JSON.parse(claimPayload)), it has the following shape:

ClaimPayload

FieldTypeDescription
claim_typestringThe claim type that was evaluated
claim_result'passed' | 'failed'The outcome of the claim
methodologyMethodologyCalculation[]Omitted if the claim config sets hide_methodology

MethodologyCalculation

FieldTypeDescription
method'facial_age_estimation' | 'document_selfie' | 'live_selfie'The verification method used
result'passed' | 'failed'The outcome of this method

Claim types

To obtain the Claim Type ID needed to create a Relay session, navigate to Persona Dashboard → Relay. Additional details, including supported use cases, verification approaches, and implementation guidance for each claim type, are also available in the Dashboard.

Humanness

Claim type nameDescription
Live Human PresenceEvaluates whether a real person is present at the time of verification.
Verified Human PresenceEvaluates whether a real person is present using a higher-assurance verification approach.

Age

Claim type nameDescription
Age 18+ GermanyEvaluates whether a user meets an 18+ age threshold using an approach designed for Germany-related use cases.
Age 18+ United KingdomEvaluates whether a user meets an 18+ age threshold using an approach designed for United Kingdom-related use cases.
Age 18+ FranceEvaluates whether a user meets an 18+ age threshold using an approach designed for France-related use cases.
Age 18+ ItalyEvaluates whether a user meets an 18+ age threshold using an approach designed for Italy-related use cases.
Age 18+ AustraliaEvaluates whether a user meets an 18+ age threshold using an approach designed for Australia-related use cases.
Age 16+ AustraliaEvaluates whether a user meets a 16+ age threshold using an approach designed for Australia-related use cases.
Age 18+ BrazilEvaluates whether a user meets an 18+ age threshold using an approach designed for Brazil-related use cases.
Age 18+ VerifiedEvaluates whether a user meets an 18+ age threshold using a high-assurance age verification approach.
Age 21+ VerifiedEvaluates whether a user meets a 21+ age threshold using a high-assurance age verification approach.
Age 18+ EstimatedEvaluates whether a user meets an 18+ age threshold using an age estimation approach.

PersonaError

Base class for all TypeScript SDK errors. Extends Error.

PropertyTypeDescription
statusCodenumberHTTP status code from the Persona API
titlestringShort description of the error
detailsstring | undefinedOptional longer description
codestring | undefinedOptional machine-readable error code
metaRecord<string, unknown> | undefinedOptional additional metadata

Error responses

All Relay API endpoints return errors in the following shape:

1{
2 "errors": [
3 {
4 "status": "401",
5 "title": "Unauthorized",
6 "detail": "..."
7 }
8 ]
9}
StatusDescription
400Bad request — missing or invalid parameters
401Unauthorized — invalid or missing API key or relay secret
403Forbidden — relay secret does not match, or claim not yet available
404Not found — relay token does not exist
429Rate limited
500 / 502 / 503 / 504Server error