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.

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