Open API
Introduction
This section provides descriptions and guidelines for making requests to our Public API. All data transmitted via our Public API is encrypted to ensure security. For more information on encryption and how to handle encrypted data, please visit the Encryption page.
You can find full description of API here [Gateway API]
Initiate a new applicant registration process in the KYC system by providing the necessary details. Returns a comprehensive applicant profile upon successful creation.
A unique applicant identifies on the client side
A flow name
An applicant phone number.
An applicant email address.
The language, in which the verification results should be displayed to applicants.
Used to compare the data that you provide to us with that we extract from the applicant documents.
POST /api/public/applicant HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 105
{
"externalUserId": "text",
"flowName": "text",
"phone": "text",
"email": "text",
"lang": "text",
"suppliedInfo": {}
}
{
"status": true,
"statusCode": 200,
"data": {
"id": "text",
"externalUserId": "text",
"status": "INIT",
"updatedAt": "text",
"createdAt": "text",
"scheduledDeletionDate": "text",
"phone": "text",
"email": "text",
"lang": "text",
"dateOfBirth": "text",
"ip": "text",
"country": "text",
"region": "text",
"timezone": "text",
"city": "text",
"image": "text",
"fullName": "text",
"fullNameSetByUser": true,
"clientKey": "text",
"flowId": 1,
"review": {
"id": "text",
"version": 1,
"status": "INIT",
"createdAt": "2025-07-04T02:45:22.570Z",
"updatedAt": "2025-07-04T02:45:22.570Z",
"comment": "text",
"warnings": "text",
"details": "text",
"reviewerId": 1,
"reviewerFullName": "text",
"statusSetById": 1,
"statusSetByName": "text"
},
"servicesData": [
{
"data": {
"id": "text",
"stepType": "DOCUMENT_CAPTURE",
"overallResult": 0,
"elapsedTime": 1,
"elapsedTimeRFID": 1,
"uploadedPagesCount": 1,
"createdAt": "2025-07-04T02:45:22.570Z",
"types": [
{
"id": "text",
"docId": "text",
"name": "text",
"pageIndex": 1,
"hasMRZ": true,
"icao": "text",
"type": 1,
"year": "text",
"format": 0,
"createdAt": "2025-07-04T02:45:22.570Z"
}
],
"graphics": [
{
"fieldType": 1,
"data": [
{
"id": "text",
"docId": "text",
"fieldType": 201,
"sourceType": -1,
"containerType": -1,
"pageIndex": 1,
"image": "text",
"createdAt": "2025-07-04T02:45:22.570Z"
}
]
}
],
"fields": [
{
"fieldType": 1,
"data": [
{
"id": "text",
"docId": "text",
"fieldType": 0,
"lcid": 0,
"status": 0,
"pageIndex": 1,
"probability": 1,
"validity": 0,
"value": "text",
"sourceType": -1,
"comparison": {},
"createdAt": "2025-07-04T02:45:22.570Z"
}
]
}
]
},
"service": "DOCUMENT_CAPTURE",
"status": "REJECTED",
"type": "ON_DEMAND",
"deactivatedServiceCount": 1,
"errorMessage": "text",
"reason": "text"
}
],
"applications": {
"appKey": "text"
},
"flow": {
"name": "text",
"id": 1,
"type": "ON_DEMAND",
"autoApprove": true,
"uniqueFaceMatch": true,
"services": [
"DOCUMENT_CAPTURE"
]
},
"amlMonitoring": {
"id": "text",
"applicantId": "text",
"externalId": "text",
"period": "DAILY",
"isActive": true,
"createdAt": "2025-07-04T02:45:22.570Z",
"updatedAt": "2025-07-04T02:45:22.570Z"
},
"device": {
"sdkVersion": "text",
"ip": "text",
"country": "text",
"region": "text",
"eu": "text",
"timezone": "text",
"city": "text",
"metro": 1,
"ll": [
1
],
"area": 1,
"userAgent": "text",
"browserType": "text",
"browserVersion": "text"
}
},
"time": "2021-08-20T14:52:33.648Z"
}
Retrieve comprehensive applicant details using either the internal ID or an external user identifier.
Internal ID or an external user identifier.
GET /api/public/applicant/{applicantId} HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Accept: */*
{
"status": true,
"statusCode": 200,
"data": {
"id": "text",
"externalUserId": "text",
"status": "INIT",
"updatedAt": "text",
"createdAt": "text",
"scheduledDeletionDate": "text",
"phone": "text",
"email": "text",
"lang": "text",
"dateOfBirth": "text",
"ip": "text",
"country": "text",
"region": "text",
"timezone": "text",
"city": "text",
"image": "text",
"fullName": "text",
"fullNameSetByUser": true,
"clientKey": "text",
"flowId": 1,
"review": {
"id": "text",
"version": 1,
"status": "INIT",
"createdAt": "2025-07-04T02:45:22.570Z",
"updatedAt": "2025-07-04T02:45:22.570Z",
"comment": "text",
"warnings": "text",
"details": "text",
"reviewerId": 1,
"reviewerFullName": "text",
"statusSetById": 1,
"statusSetByName": "text"
},
"servicesData": [
{
"data": {
"id": "text",
"stepType": "DOCUMENT_CAPTURE",
"overallResult": 0,
"elapsedTime": 1,
"elapsedTimeRFID": 1,
"uploadedPagesCount": 1,
"createdAt": "2025-07-04T02:45:22.570Z",
"types": [
{
"id": "text",
"docId": "text",
"name": "text",
"pageIndex": 1,
"hasMRZ": true,
"icao": "text",
"type": 1,
"year": "text",
"format": 0,
"createdAt": "2025-07-04T02:45:22.570Z"
}
],
"graphics": [
{
"fieldType": 1,
"data": [
{
"id": "text",
"docId": "text",
"fieldType": 201,
"sourceType": -1,
"containerType": -1,
"pageIndex": 1,
"image": "text",
"createdAt": "2025-07-04T02:45:22.570Z"
}
]
}
],
"fields": [
{
"fieldType": 1,
"data": [
{
"id": "text",
"docId": "text",
"fieldType": 0,
"lcid": 0,
"status": 0,
"pageIndex": 1,
"probability": 1,
"validity": 0,
"value": "text",
"sourceType": -1,
"comparison": {},
"createdAt": "2025-07-04T02:45:22.570Z"
}
]
}
]
},
"service": "DOCUMENT_CAPTURE",
"status": "REJECTED",
"type": "ON_DEMAND",
"deactivatedServiceCount": 1,
"errorMessage": "text",
"reason": "text"
}
],
"applications": {
"appKey": "text"
},
"flow": {
"name": "text",
"id": 1,
"type": "ON_DEMAND",
"autoApprove": true,
"uniqueFaceMatch": true,
"services": [
"DOCUMENT_CAPTURE"
]
},
"amlMonitoring": {
"id": "text",
"applicantId": "text",
"externalId": "text",
"period": "DAILY",
"isActive": true,
"createdAt": "2025-07-04T02:45:22.570Z",
"updatedAt": "2025-07-04T02:45:22.570Z"
},
"device": {
"sdkVersion": "text",
"ip": "text",
"country": "text",
"region": "text",
"eu": "text",
"timezone": "text",
"city": "text",
"metro": 1,
"ll": [
1
],
"area": 1,
"userAgent": "text",
"browserType": "text",
"browserVersion": "text"
}
},
"time": "2021-08-20T14:52:33.648Z"
}
Internal ID or an external user identifier.
GET /api/public/applicant/{applicantId}/status HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Accept: */*
{
"status": true,
"statusCode": 200,
"data": {
"id": "text",
"status": "text"
},
"time": "2021-08-20T14:52:33.648Z"
}
Transition the applicant to a new verification flow stage by updating their workflow based on the provided flow details.
Internal ID or an external user identifier.
A flow id
POST /api/public/applicant/{applicantId}/moveToFlow HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 17
{
"flowId": "text"
}
{
"status": true,
"statusCode": 200,
"data": {
"id": "text",
"status": "text"
},
"time": "2021-08-20T14:52:33.648Z"
}
Mark an applicant for deletion, scheduling their record for removal in accordance with system retention policies.
Internal ID or an external user identifier.
POST /api/public/applicant/{applicantId}/schedule-deletion HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Accept: */*
{
"status": true,
"statusCode": 200,
"data": {
"id": "text",
"scheduledDeletionDate": "2025-07-04T02:45:22.570Z"
},
"time": "2021-08-20T14:52:33.648Z"
}
Restore a previously marked applicant, reactivating their record and enabling them to continue with the verification process.
Internal ID or an external user identifier.
POST /api/public/applicant/{applicantId}/restore HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Accept: */*
{
"status": true,
"statusCode": 200,
"data": {
"id": "text"
},
"time": "2021-08-20T14:52:33.648Z"
}
Generate a new verification token to client-side identity validation during the verification process.
Internal ID or an external user identifier.
Optional locale specifying the language for the verification token. Must be a valid locale string (e.g., "en-US").
Optional time-to-live (TTL) for the verification token in seconds.
Optional name of the verification flow to be applied
POST /api/public/applicant/{applicantId}/token HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 43
{
"locale": "text",
"ttl": 1,
"flowName": "text"
}
{
"status": true,
"statusCode": 200,
"data": {
"transactionId": "text",
"accessToken": "text",
"link": "text",
"applicantId": "text",
"ttl": 1
},
"time": "2021-08-20T14:52:33.648Z"
}
GET /api/public/questionnaire/{id} HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Accept: */*
{
"status": true,
"statusCode": 200,
"data": {
"id": "text",
"name": "text",
"description": "text",
"clientKey": "text",
"content": {},
"version": {},
"createdAt": "2025-07-04T02:45:22.570Z"
},
"time": "2021-08-20T14:52:33.648Z"
}
Blockchain network to perform the AML search. Accepted values are defined in the BlockchainEnum.
Optional transaction hash for the AML search. Must be a 64-character hexadecimal string, optionally prefixed with "0x". This field is mutually exclusive with "address".
^(0x)?[a-fA-F0-9]{64}$
Optional blockchain address for the AML search. Must be a valid blockchain address and is mutually exclusive with "txHash".
POST /api/public/crypto-aml/search HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"blockchain": "BTC",
"txHash": "text",
"address": "text"
}
{
"status": true,
"statusCode": 200,
"data": {
"id": "text",
"type": "WALLET"
},
"time": "2021-08-20T14:52:33.648Z"
}
GET /api/public/crypto-aml/{amlId}/details?type=WALLET HTTP/1.1
Host:
x-private-app-key: YOUR_API_KEY
Accept: */*
{
"status": true,
"statusCode": 200,
"data": {
"type": "WALLET",
"id": "text",
"clientKey": "text",
"applicantId": "text",
"blockchain": "BTC",
"reviewStatus": "UNKNOWN",
"address": "text",
"score": 1,
"amount": "text",
"uof": [
{
"hash": "text",
"forward": true,
"owner": "text",
"score": 1,
"type": "text",
"depth": 1,
"amount": 1,
"address": "text",
"share": 1,
"transactionCount": 1,
"unidentified": true,
"unknown": true,
"amountCur": 1,
"cluster": 1,
"directStamp": 1,
"timestamp": 1,
"listType": "text",
"amountDec": 1,
"directTx": "text"
}
],
"sof": [
{
"hash": "text",
"forward": true,
"owner": "text",
"score": 1,
"type": "text",
"depth": 1,
"amount": 1,
"address": "text",
"share": 1,
"transactionCount": 1,
"unidentified": true,
"unknown": true,
"amountCur": 1,
"cluster": 1,
"directStamp": 1,
"timestamp": 1,
"listType": "text",
"amountDec": 1,
"directTx": "text"
}
],
"addressInfo": {
"address": "text",
"owner": "text",
"description": "text",
"type": {
"id": "text",
"name": "text",
"score": 1
},
"txCount": 1,
"txReceivedCount": 1,
"txSentCount": 1,
"tags": [
[]
],
"balance": {
"amount": "text",
"price": 1,
"priceTimestamp": 1,
"symbol": "text"
},
"firstSeen": 1,
"lastSeen": 1,
"parentCount": 1,
"parentNativeCount": 1,
"addressType": "text",
"conflict": true,
"totalETHTxs": 1,
"totalInternalTxs": 1,
"totalTokensTxs": 1,
"assets": [
{
"supported": true,
"name": "text",
"symbol": "text",
"icon": "text"
}
]
},
"entities": [
{
"id": "text",
"score": 1,
"scoreType": "text",
"name": "text",
"scoreTypeId": "text"
}
],
"isMonitoring": true,
"lastUpdateDate": "2023-01-01T00:00:00Z",
"outdated": false,
"createdAt": "2023-01-01T00:00:00Z",
"timelines": [
{
"id": "text",
"requestUniqueId": "text",
"eventName": "CRYPTO_AML_STATUS_UPDATED",
"applicantId": "text",
"appKey": "text",
"data": {},
"amlId": "text",
"userId": 1,
"device": {},
"geo": {},
"createdAt": "2025-07-04T02:45:22.570Z",
"updatedAt": "2025-07-04T02:45:22.570Z"
}
],
"comments": [
{
"id": "text",
"content": "text",
"amlId": "text",
"authorId": 1,
"parentId": "text",
"authorName": "text",
"updatedAt": "2025-07-04T02:45:22.570Z",
"createdAt": "2025-07-04T02:45:22.570Z",
"parentComment": "[Circular Reference]"
}
],
"updatedAt": "2023-01-02T00:00:00Z"
},
"time": "2021-08-20T14:52:33.648Z"
}
Last updated