This API is documented in OpenAPI v3.1 format and displayed with ReDoc.

In addition to standard OpenAPI syntax few vendor extensions have been used.

NOTICE: This is still a DRAFT and can be subject to changes before going live.

Server
https://api.yoti.com

prod

Server Variables


The system uses API tokens which may either be acquired through an OAuth-compatible endpoint (using a JWT signed by the application's private key), or manually provisioned through Hub.

A simplified example of a request would look like:

POST /path/to/resource HTTP/2.0
Host: api.yoti.com
Authorization: Bearer yta_UJCxUATErS890kAUaOMI7QA_IdESeScy2WKH

{ ... JSON request data here ... }

Fields
KeyIn
AuthorizationHeader

Poa-v1

Endpoints for Proof of Age (PoA)

Verify Proof of Age

Auth
Request Body
POST /poa/v1/verify
Copy
Responses
200

OK

Proof of Age (Sync) Resultobject
idstring

The identifier for the result (and query that originated it)

statusstring

Whether the proof of age was done successfuly (SUCCESS) or not (FAILURE). If successful the validation info will be available under result. If proof of age failed, failure will include info as to why.

Enum: SUCCESS,FAILURE

timestampdate-time

When the result (or failure) was determined

providerstring

The name/identifier of the provider used to validate the proof of age

Enum: YOTI,GOV_UK,A_PROVIDER_NAME

resultobject

Contains the result of the proof of age check (only present in case of a SUCCESS status)

age_overint32

The highest age value that is below the user's age (e.g. a value of 21 means the user is 21+, a value of 15 means the user's age is 15+)

minimum: 0

checksarray[string]

Enum: PROVIDER_ON_DVS_REGISTER,SIGNATURE_VERIFIED

failureobject

Contains data/info related to a failure

reasonstring

Enum: UNABLE_TO_VERIFY_SIGNATURE,PRESENTATION_EXPIRED,PRESENTATION_ALREADY_USED,UNSUPPORTED_PAYLOAD,EXCLUDED_PROVIDER,UNKNOWN_PROVIDER,USER_DID_NOT_CONSENT

202

Accepted

400

Bad Request

500

Server Error

Response
Copy

Verify Proof of Age Result

Auth
Path Params
idstring

The identifier for a proof of age verification query

GET /poa/v1/verify/{id}
Copy
Responses
200

OK

Proof of Age Resultobject
idstring

The identifier for the result (and query that originated it)

statusstring

Whether the proof of age was done successfuly (SUCCESS), is still pending (PENDING) or failed (FAILURE). If successful the validation info is available in result. If proof of age failed, error will include info as to why.

Enum: SUCCESS,FAILURE,PENDING

timestampdate-time

When the result (or failure) was determined.

providerstring

The name/identifier of the provider used to validate the proof of age

Enum: YOTI,GOV_UK,A_PROVIDER_NAME

resultobject

Contains the result of the proof of age check (only present in case of a SUCCESS status)

age_overint32

minimum: 0

checksarray[string]

Enum: PROVIDER_ON_DVS_REGISTER,SIGNATURE_VERIFIED

waiting_onstring

A code for the action/activity that needs to be completed for the proof of age process to progress

Enum: USER_CONSENT

failureobject

Contains data/info related to a failure

reasonstring

Enum: UNABLE_TO_VERIFY_SIGNATURE,PRESENTATION_EXPIRED,PRESENTATION_ALREADY_USED,UNSUPPORTED_PAYLOAD,EXCLUDED_PROVIDER,UNKNOWN_PROVIDER,USER_DID_NOT_CONSENT

404

Not Found

500

Server Error

Response
Copy

Webhooks

Verify Proof of Age Result Notification

This notification will be triggered when the result for Verify Proof of Age is available and the original request included a notification config

Request Body
Proof of Age (Sync) Resultobject
idstring

The identifier for the result (and query that originated it)

statusstring

Whether the proof of age was done successfuly (SUCCESS) or not (FAILURE). If successful the validation info will be available under result. If proof of age failed, failure will include info as to why.

Enum: SUCCESS,FAILURE

timestampdate-time

When the result (or failure) was determined

providerstring

The name/identifier of the provider used to validate the proof of age

Enum: YOTI,GOV_UK,A_PROVIDER_NAME

resultobject

Contains the result of the proof of age check (only present in case of a SUCCESS status)

age_overint32

The highest age value that is below the user's age (e.g. a value of 21 means the user is 21+, a value of 15 means the user's age is 15+)

minimum: 0

checksarray[string]

Enum: PROVIDER_ON_DVS_REGISTER,SIGNATURE_VERIFIED

failureobject

Contains data/info related to a failure

reasonstring

Enum: UNABLE_TO_VERIFY_SIGNATURE,PRESENTATION_EXPIRED,PRESENTATION_ALREADY_USED,UNSUPPORTED_PAYLOAD,EXCLUDED_PROVIDER,UNKNOWN_PROVIDER,USER_DID_NOT_CONSENT

POST poa-verify-result
Copy
Responses
204

No Content


Your server implementation should return this HTTP status code if the data was received successfully (although any 2xx code will do)

No response body
Response
Copy