Allpass.ai
HomeWeb SiteTerms of ServicesPrivacy Policy
  • Introduction
  • Get Started
    • Sign Up and Sign In
    • Navigation
    • Test and Live Modes
    • Company Settings
    • Application
    • Work With the Team
      • User Roles and Permissions
      • Send Invites and Assign Roles
    • Notifications Settings
  • Build Verification Flows
    • Flow Builder Overview
    • Verification Steps
      • Intro
      • Document Check
      • Liveness
      • Facematching
      • Selfie With a Document
      • Email Verification
      • Phone verification
      • AML
      • Crypto Transaction and Wallet Check
      • Questionnaire
      • Final Screen
    • UI Customization
    • Duplicate Workflows
    • Workflow Drafts
    • Questionnaire Builder
  • Verify Your Users
    • Run Verification Flows
    • Receiving and Completing Verification
    • Restart the Verification Flow
    • Change the Verification Flow
    • Request Additional Information
    • Manual Compliance Check
    • Manual Crypto Transaction and Wallet Monitoring
  • Review Data
    • Verification Status
    • Review Process
    • Applicant Profile
      • Document Check
      • Liveness
      • Facematch
      • Selfie with the document
      • Email Verification
      • Phone Verification
      • AML check
      • Crypto Transaction and Wallet Check
      • Questionnaire
      • IP and Geo Data
    • Applicant Timeline
    • Deactivating and Activating Verification Results
    • Applicant Profile Deletion
  • Download Reports
  • Analytics Dashboard
  • Integration
    • Overview
    • Get Started
    • How to use
    • Installation
    • Initialize
    • Render
    • Webhooks
      • Applicant Webhooks
      • Webhook Timestamp Validation Requirement
    • Open API
    • Dictionary
      • Enums
      • Entities
      • Term & Abbreviations
      • Supported Countries & Documents
    • Encryption
  • TROUBLESHOOTING
    • IP Address Detected as VPN
    • Incomplete User Verification Flows
Powered by GitBook

© 2024 Allpass.ai by elKYC OU. All rights reserved

On this page
  1. Integration

Open API

PreviousWebhook Timestamp Validation RequirementNextDictionary

Last updated 1 month ago

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

You can find full description of API here []

Encryption page.
Gateway API

Retrieve comprehensive applicant details using either the internal ID or an external user identifier.

get
Authorizations
Path parameters
applicantIdstringRequired

Internal ID or an external user identifier.

Responses
200Success
application/json
Responseall of
and
get
GET /api/public/applicant/{applicantId} HTTP/1.1
Host: 
x-private-app-key: YOUR_API_KEY
Accept: */*
200Success
{
  "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-05-19T08:37:31.277Z",
      "updatedAt": "2025-05-19T08:37:31.277Z",
      "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-05-19T08:37:31.277Z",
          "types": [
            {
              "id": "text",
              "docId": "text",
              "name": "text",
              "pageIndex": 1,
              "hasMRZ": true,
              "icao": "text",
              "type": 1,
              "year": "text",
              "format": 0,
              "createdAt": "2025-05-19T08:37:31.277Z"
            }
          ],
          "graphics": [
            {
              "fieldType": 1,
              "data": [
                {
                  "id": "text",
                  "docId": "text",
                  "fieldType": 201,
                  "sourceType": -1,
                  "containerType": -1,
                  "pageIndex": 1,
                  "image": "text",
                  "createdAt": "2025-05-19T08:37:31.277Z"
                }
              ]
            }
          ],
          "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-05-19T08:37:31.277Z"
                }
              ]
            }
          ]
        },
        "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-05-19T08:37:31.277Z",
      "updatedAt": "2025-05-19T08:37:31.277Z"
    },
    "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"
}

Fetch the current verification and processing status of an applicant by their unique identifier.

get
Authorizations
Path parameters
applicantIdstringRequired

Internal ID or an external user identifier.

Responses
200Success
application/json
Responseall of
and
get
GET /api/public/applicant/{applicantId}/status HTTP/1.1
Host: 
x-private-app-key: YOUR_API_KEY
Accept: */*
200Success
{
  "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.

post
Authorizations
Path parameters
applicantIdstringRequired

Internal ID or an external user identifier.

Responses
200Success
application/json
Responseall of
and
201Success
application/json
post
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-05-19T08:37:31.277Z"
  },
  "time": "2021-08-20T14:52:33.648Z"
}

Restore a previously marked applicant, reactivating their record and enabling them to continue with the verification process.

post
Authorizations
Path parameters
applicantIdstringRequired

Internal ID or an external user identifier.

Responses
200Success
application/json
Responseall of
and
201Success
application/json
post
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"
}

Get Questionnaire Schema

get
Authorizations
Path parameters
idstringRequired
Responses
200Success
application/json
Responseall of
and
get
GET /api/public/questionnaire/{id} HTTP/1.1
Host: 
x-private-app-key: YOUR_API_KEY
Accept: */*
200Success
{
  "status": true,
  "statusCode": 200,
  "data": {
    "id": "text",
    "name": "text",
    "description": "text",
    "clientKey": "text",
    "content": {},
    "version": {},
    "createdAt": "2025-05-19T08:37:31.277Z"
  },
  "time": "2021-08-20T14:52:33.648Z"
}

Get aml

get
Authorizations
Path parameters
amlIdstringRequired
Query parameters
typestring · enumRequiredPossible values:
Responses
200Success
application/json
Responseall of
and
get
GET /api/public/crypto-aml/{amlId}/details?type=WALLET HTTP/1.1
Host: 
x-private-app-key: YOUR_API_KEY
Accept: */*
200Success
{
  "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-05-19T08:37:31.277Z",
        "updatedAt": "2025-05-19T08:37:31.277Z"
      }
    ],
    "comments": [
      {
        "id": "text",
        "content": "text",
        "amlId": "text",
        "authorId": 1,
        "parentId": "text",
        "authorName": "text",
        "updatedAt": "2025-05-19T08:37:31.277Z",
        "createdAt": "2025-05-19T08:37:31.277Z",
        "parentComment": "[Circular Reference]"
      }
    ],
    "updatedAt": "2023-01-02T00:00:00Z"
  },
  "time": "2021-08-20T14:52:33.648Z"
}
  • POSTInitiate a new applicant registration process in the KYC system by providing the necessary details. Returns a comprehensive applicant profile upon successful creation.
  • GETRetrieve comprehensive applicant details using either the internal ID or an external user identifier.
  • GETFetch the current verification and processing status of an applicant by their unique identifier.
  • POSTTransition the applicant to a new verification flow stage by updating their workflow based on the provided flow details.
  • POSTMark an applicant for deletion, scheduling their record for removal in accordance with system retention policies.
  • POSTRestore a previously marked applicant, reactivating their record and enabling them to continue with the verification process.
  • POSTGenerate a new verification token to client-side identity validation during the verification process.
  • GETGet Questionnaire Schema
  • POSTSearch Wallet or Transaction Risk Score
  • GETGet aml

Initiate a new applicant registration process in the KYC system by providing the necessary details. Returns a comprehensive applicant profile upon successful creation.

post
Authorizations
Body
externalUserIdstringRequired

A unique applicant identifies on the client side

flowNamestringRequired

A flow name

phonestringOptional

An applicant phone number.

emailstringOptional

An applicant email address.

langstringOptional

The language, in which the verification results should be displayed to applicants.

suppliedInfoobjectOptional

Used to compare the data that you provide to us with that we extract from the applicant documents.

Responses
201Success
application/json
Responseall of
and
post
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": {}
}
201Success
{
  "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-05-19T08:37:31.277Z",
      "updatedAt": "2025-05-19T08:37:31.277Z",
      "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-05-19T08:37:31.277Z",
          "types": [
            {
              "id": "text",
              "docId": "text",
              "name": "text",
              "pageIndex": 1,
              "hasMRZ": true,
              "icao": "text",
              "type": 1,
              "year": "text",
              "format": 0,
              "createdAt": "2025-05-19T08:37:31.277Z"
            }
          ],
          "graphics": [
            {
              "fieldType": 1,
              "data": [
                {
                  "id": "text",
                  "docId": "text",
                  "fieldType": 201,
                  "sourceType": -1,
                  "containerType": -1,
                  "pageIndex": 1,
                  "image": "text",
                  "createdAt": "2025-05-19T08:37:31.277Z"
                }
              ]
            }
          ],
          "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-05-19T08:37:31.277Z"
                }
              ]
            }
          ]
        },
        "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-05-19T08:37:31.277Z",
      "updatedAt": "2025-05-19T08:37:31.277Z"
    },
    "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"
}

Transition the applicant to a new verification flow stage by updating their workflow based on the provided flow details.

post
Authorizations
Path parameters
applicantIdstringRequired

Internal ID or an external user identifier.

Body
flowIdstringRequired

A flow id

Responses
200Success
application/json
Responseall of
and
201Success
application/json
post
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"
}

Generate a new verification token to client-side identity validation during the verification process.

post
Authorizations
Path parameters
applicantIdstringRequired

Internal ID or an external user identifier.

Body
localestringOptional

Optional locale specifying the language for the verification token. Must be a valid locale string (e.g., "en-US").

ttlnumber · max: 3153600000Optional

Optional time-to-live (TTL) for the verification token in seconds.

flowNamestringOptional

Optional name of the verification flow to be applied

Responses
201Success
application/json
Responseall of
and
post
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"
}
201Success
{
  "status": true,
  "statusCode": 200,
  "data": {
    "transactionId": "text",
    "accessToken": "text",
    "link": "text",
    "applicantId": "text",
    "ttl": 1
  },
  "time": "2021-08-20T14:52:33.648Z"
}

Search Wallet or Transaction Risk Score

post
Authorizations
Body
blockchainstring · enumRequired

Blockchain network to perform the AML search. Accepted values are defined in the BlockchainEnum.

Possible values:
txHashstringOptional

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".

Pattern: ^(0x)?[a-fA-F0-9]{64}$
addressstringOptional

Optional blockchain address for the AML search. Must be a valid blockchain address and is mutually exclusive with "txHash".

Responses
201Success
application/json
Responseall of
and
post
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"
}
201Success
{
  "status": true,
  "statusCode": 200,
  "data": {
    "id": "text",
    "type": "WALLET"
  },
  "time": "2021-08-20T14:52:33.648Z"
}