Kycaid API (2.0)

Languages
Servers
Mock server

https://docs.kycaid.com/_mock/api/

https://api.kycaid.com/

Addresses

Addresses

Operations

Affiliated persons

Affiliated persons

Operations

Applicants

Applicants

Operations

Blacklist databases

Blacklist databases

Operations

Business activities

Business activities

Operations

Countries

Countries

Operations

Crypto

Crypto

Operations

Documents

Documents

Operations

Create a document

Request

Create a new document object in our system

Bodyapplication/json
One of:

A payment card issued by a bank or a financial institution that allows a cardholder to access their bank account. It typically includes a cardholder name, a card number, an expiration date, and a security code.

⚠️ Only one document with CREDIT_CARD document type may be associated with one applicant object via applicant_id.

⚠️ After a verification was created, a new document may be added for the same applicant object via applicant_id, replacing the one added before.


applicant_idstring(uuid)= 36 charactersrequired

A unique identifier of an applicant, that is assigned by our system after an applicant object was created with a “Create an applicant” request

typestringrequired
Default "CREDIT_CARD"
Example: "CREDIT_CARD"
card_numberstring or null[ 12 .. 19 ] characters

A number of a credit card for payments

account_numberstring or null<= 50 characters

A bank account number (e.g. IBAN)

front_side_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

back_side_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

other_side_1_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

other_side_2_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

other_side_3_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

application/json
{ "applicant_id": "723f46ab04feb64f442946f2953a67eaecf7", "type": "CREDIT_CARD", "card_number": "5375411422962063", "account_number": "UA383220010000026200330646508", "front_side_id": "46b05f5c14c162402d186822fa0314c6162c", "back_side_id": "b969e3d413fb3246f119c4734739f5cac987", "other_side_1_id": "46b05f5c14c162402d186822fa0314c6162c", "other_side_2_id": "f57963fa13e42248fb1b64c3357fc97a8737", "other_side_3_id": "b56147eb1c31a248401aed83bf5670f2c520" }

Responses

OK

The request was successful, and our system returned an expected response.

Bodyapplication/json
document_idstring(uuid)= 36 characters

A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request

Response
application/json
{ "document_id": "5f9aeb5e1f25e2441d182f56b6dcbfac12dd" }

Get a document

Request

Get records of a created document object

Path
document_idstring(uuid)= 36 charactersrequired

A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request

Example: 5f9aeb5e1f25e2441d182f56b6dcbfac12dd
No request payload

Responses

OK

The request was successful, and our system returned an expected response.

Bodyapplication/json
One of:
document_idstring(uuid)= 36 characters

A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request

applicant_idstring(uuid)= 36 characters

A unique identifier of an applicant, that is assigned by our system after an applicant object was created with a “Create an applicant” request

typestring
Default "CREDIT_CARD"
Example: "CREDIT_CARD"
providerstring

A person or a service, that created initiated document creation:

  • ADMIN: A manager
  • IN_AADHAAR: Indian Aahaar service
  • KZ_ADATA: Kazakhstan Adata service
  • MANUAL: API request or a form initialisation
  • RECOGNITION: Recognition service
  • UA_BANK_ID: Ukrainian BankID service
  • UA_DIIA: Ukrainian Diia service
Enum"ADMIN""IN_AADHAAR""KZ_ADATA""MANUAL""RECOGNITION""UA_BANK_ID""UA_DIIA"
statusstring or null

A status of document verification. Set automatically by our system or manually in the Admin panel or in the Dashboard after reviewal.

  • new: a newly created document, that was not reviewed
  • valid: a reviewed and approved document
  • invalid: a reviewed and declined document
Enum"new""valid""invalid"
commentstring or null<= 1000 characters

An additional comment added manually in the Admin panel or in the Dashboard regarding reasons of document verification decline (invalid status)

Example: null
document_numberstring or null<= 50 characters

A number of a document

Example: null
additional_numberstring or null<= 50 characters

An additional number located on a document (e.g. tax ID number located on an ID card)

Example: null
issue_datestring or null(date)<= 10 characters

An issue date of a document in YYYY-MM-DD format

Example: null
expiry_datestring or null(date)<= 10 characters

An expiration date of a document in YYYY-MM-DD format

Example: null
issuing_authoritystring or null<= 255 characters

A name of a govenment entity that issues official documents

Example: null
income_sourcesArray of strings

Category of a person or an entity earnings

Items Enum"SALARY""DIVIDENDS""SALE_PROPERTY""SAVINGS""DIVORCE_SETTLEMENTS""INHERITANCE""LOAN""INVESTMENTS""OTHER"
Example: null
annual_incomestring or null

An annual income group that categorizes persons or entities based on their total yearly income. There are four groups available:

  • ANNUAL_INCOME_GROUP_1: less than 50,000 EUR
  • ANNUAL_INCOME_GROUP_2: between 50,000 and 100,000 EUR
  • ANNUAL_INCOME_GROUP_3: between 100,000 and 300,000 EUR
  • ANNUAL_INCOME_GROUP_4: more than 300,000 EUR
Enum"ANNUAL_INCOME_GROUP_1""ANNUAL_INCOME_GROUP_2""ANNUAL_INCOME_GROUP_3""ANNUAL_INCOME_GROUP_4"null
Example: null
transaction_amountnumber or null(float)

An amount of a financial transaction

Example: null
transaction_currencystring or null<= 3 characters

An amount of a financial transaction. A three-letter currency code according to ISO 4217. Ticker symbols are also accepted (e.g. BTC, ETH, SOL)

Example: null
transaction_datetimestring or null(date-time)

A date and time of a financial transaction in YYYY-MM-DD HH:mm:ss format

Example: null
transaction_purposestring or null<= 255 characters

A definition of an intended reason or objective for a financial transaction

Example: null
origin_fundsstring or null<= 255 characters

A source of financial resources

Example: null
card_numberstring or null[ 12 .. 19 ] characters

A number of a credit card for payments

account_numberstring or null<= 50 characters

A bank account number (e.g. IBAN)

portraitstring or null<= 2048 characters

A URL of a person portrait photo, extracted from a document file by our system

Example: null
front_side_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

Example: null
front_sidestring or null<= 2048 characters

A URL of an uploaded front side (first page) of a document file

Example: null
back_side_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

Example: null
back_sidestring or null<= 2048 characters

A URL of an uploaded back side (second page) of a document

Example: null
other_side_1_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

Example: null
other_side_1string or null<= 2048 characters

A URL of an uploaded third page of a document

Example: null
other_side_2_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

Example: null
other_side_2string or null<= 2048 characters

A URL of an uploaded fourth page of a document

Example: null
other_side_3_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

Example: null
other_side_3string or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

Example: null
created_atstring(date-time)

A date and time of creation of an object, set by our system

decline_reasons_idsArray of integers or null or null

A list of IDs of reasons why a document was declined.

  • 1: OTHER
  • 2: WRONG_NAME
  • 3: WRONG_DOB
  • 4: AGE_RESTRICTION
  • 5: EXPIRED_DOCUMENT
  • 7: BAD_QUALITY
  • 8: FAKE_DOCUMENT
  • 9: WRONG_INFO
  • 10: PROHIBITED_JURISDICTION
  • 11: NO_SELFIE
  • 12: DIFFERENT_FACES
  • 13: WRONG_DOCUMENT
  • 24: DUPLICATE
  • 25: DOCUMENT_DAMAGED
  • 26: DOCUMENT_INCOMPLETE
  • 27: FRAUDULENT
  • 28: TAX_ID_REQUIRED
  • 29: COMPROMISED_PERSON
  • 30: EDITED_DOCUMENT
  • 31: MULTIPLE_PERSON
  • 32: COMPULSION
  • 33: LIMIT_REACHED_OTP
  • 34: IP_MISMATCH
  • 35: ANONYMIZING_NETWORK
  • 36: QES_MISMATCH
Enum123457891011
Example: null
decline_reasonsArray of strings or null or null

An explanation of why a document was declined by our system or by a manager.

  • AGE_RESTRICTION: A document of a person doesnt meet minimum requirements
  • ANONYMIZING_NETWORK: Our system detected that a person uses an anonymous network
  • BAD_QUALITY: A document image provided is of poor quality, making it unreadable
  • COMPROMISED_PERSON: A person has been flagged as compromised in a blacklist database
  • COMPULSION: A document capture may have been forced, indicating potential coercion or lack of consent
  • DIFFERENT_FACES: Faces in a document and selfie do not match, indicating a discrepancy
  • DOCUMENT_DAMAGED: A document is physically damaged and cannot be recognised
  • DOCUMENT_INCOMPLETE: A document is missing required sections or pages for verification
  • DUPLICATE: An applicant with a document already exists in our system, creating unallowed duplication
  • EDITED_DOCUMENT: A document has been tampered with or edited, leading to concerns about authenticity
  • EXPIRED_DOCUMENT: A document has passed its expiration date and is no longer valid
  • FAKE_DOCUMENT: A document provided is fraudulent, contains signs of forgery, or does not correspond to an official format
  • FRAUDULENT: A document shows clear signs of fraudulent activity or intent
  • IP_MISMATCH: An issuing country of a document does not match person IP address
  • LIMIT_REACHED_OTP: Wrong one-time passwords (OTP) were entered several times during document confirmation, reaching a limit of the number of attempts
  • MULTIPLE_PERSON: A document includes more than one person, which is not permitted
  • NO_SELFIE: A required selfie was not provided
  • OTHER: Any issue or reason not covered by the predefined categories
  • PROHIBITED_JURISDICTION: A document originates from a jurisdiction restricted or prohibited by a policy
  • QES_MISMATCH: An information from Qualified Electronic Signature (QES) does not match a person profile
  • TAX_ID_REQUIRED: A valid tax identification number is mandatory but was not provided
  • WRONG_DOB: A date of birth provided does not match the one on a document
  • WRONG_DOCUMENT: A submitted document type is not supported for a document owner type
  • WRONG_INFO: An information provided does not match details in a document
  • WRONG_NAME: Names provided do not align with the ones on a document
Enum"AGE_RESTRICTION""BAD_QUALITY""COMPROMISED_PERSON""COMPULSION""DIFFERENT_FACES""DOCUMENT_DAMAGED""DOCUMENT_INCOMPLETE""DUPLICATE""EDITED_DOCUMENT""EXPIRED_DOCUMENT"
Example: []
Response
application/json
{ "document_id": "5f9aeb5e1f25e2441d182f56b6dcbfac12dd", "applicant_id": "723f46ab04feb64f442946f2953a67eaecf7", "type": "CREDIT_CARD", "provider": "MANUAL", "status": "new", "comment": null, "document_number": null, "additional_number": null, "issue_date": null, "expiry_date": null, "issuing_authority": null, "income_sources": [], "annual_income": null, "transaction_amount": null, "transaction_currency": null, "transaction_datetime": null, "transaction_purpose": null, "origin_funds": null, "card_number": "5375411422962063", "account_number": "UA383220010000026200330646508", "portrait": null, "front_side_id": null, "front_side": null, "back_side_id": null, "back_side": null, "other_side_1_id": null, "other_side_1": null, "other_side_2_id": null, "other_side_2": null, "other_side_3_id": null, "other_side_3": null, "created_at": "2024-07-01 15:27:15", "decline_reasons_ids": null, "decline_reasons": [] }

Update a document

Request

Update records of a created document object

Path
document_idstring(uuid)= 36 charactersrequired

A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request

Example: 5f9aeb5e1f25e2441d182f56b6dcbfac12dd
Bodyapplication/json
typestring

A type of a document object

Enum"ADDRESS_DOCUMENT""AUTHORISED_PERSON""BANK_STATEMENT""COMPANY_LEGAL_ADDRESS""COMPANY_OWNERSHIP""CREDIT_CARD""DOMESTIC_PASSPORT""DRIVERS_LICENSE""FINANCIAL_DOCUMENT""FOREIGN_CITIZEN_PASSPORT"
document_numberstring or null<= 50 characters

A number of a document

additional_numberstring or null<= 50 characters

An additional number located on a document (e.g. tax ID number located on an ID card)

issue_datestring or null(date)<= 10 characters

An issue date of a document in YYYY-MM-DD format

expiry_datestring or null(date)<= 10 characters

An expiration date of a document in YYYY-MM-DD format

issuing_authoritystring or null<= 255 characters

A name of a govenment entity that issues official documents

income_sourcesArray of strings

Category of a person or an entity earnings

Items Enum"SALARY""DIVIDENDS""SALE_PROPERTY""SAVINGS""DIVORCE_SETTLEMENTS""INHERITANCE""LOAN""INVESTMENTS""OTHER"
annual_incomestring or null

An annual income group that categorizes persons or entities based on their total yearly income. There are four groups available:

  • ANNUAL_INCOME_GROUP_1: less than 50,000 EUR
  • ANNUAL_INCOME_GROUP_2: between 50,000 and 100,000 EUR
  • ANNUAL_INCOME_GROUP_3: between 100,000 and 300,000 EUR
  • ANNUAL_INCOME_GROUP_4: more than 300,000 EUR
Enum"ANNUAL_INCOME_GROUP_1""ANNUAL_INCOME_GROUP_2""ANNUAL_INCOME_GROUP_3""ANNUAL_INCOME_GROUP_4"null
transaction_amountnumber or null(float)

An amount of a financial transaction

transaction_currencystring or null<= 3 characters

An amount of a financial transaction. A three-letter currency code according to ISO 4217. Ticker symbols are also accepted (e.g. BTC, ETH, SOL)

transaction_datetimestring or null(date-time)

A date and time of a financial transaction in YYYY-MM-DD HH:mm:ss format

transaction_purposestring or null<= 255 characters

A definition of an intended reason or objective for a financial transaction

origin_fundsstring or null<= 255 characters

A source of financial resources

card_numberstring or null[ 12 .. 19 ] characters

A number of a credit card for payments

account_numberstring or null<= 50 characters

A bank account number (e.g. IBAN)

front_side_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

back_side_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

other_side_1_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

other_side_2_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

other_side_3_idstring or null(uuid)= 36 characters

A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document

application/json
{ "type": "DOMESTIC_PASSPORT", "document_number": "TH703318A", "additional_number": "E2100007T-5", "issue_date": "2020-11-04", "expiry_date": "2028-11-04", "issuing_authority": "Social Security Administration", "income_sources": [ "SAVINGS", "OTHER" ], "annual_income": "ANNUAL_INCOME_GROUP_2", "transaction_amount": 14008.55, "transaction_currency": "EUR", "transaction_datetime": "2024-11-16 14:22:54", "transaction_purpose": "Payment for additional services", "origin_funds": "Business revenues", "card_number": "5375411422962063", "account_number": "UA383220010000026200330646508", "front_side_id": "46b05f5c14c162402d186822fa0314c6162c", "back_side_id": "b969e3d413fb3246f119c4734739f5cac987", "other_side_1_id": "46b05f5c14c162402d186822fa0314c6162c", "other_side_2_id": "f57963fa13e42248fb1b64c3357fc97a8737", "other_side_3_id": "b56147eb1c31a248401aed83bf5670f2c520" }

Responses

OK

The request was successful, and our system returned an expected response.

Bodyapplication/json
document_idstring(uuid)= 36 characters

A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request

Response
application/json
{ "document_id": "5f9aeb5e1f25e2441d182f56b6dcbfac12dd" }

Delete a document

Request

Delete records of a created document object

Path
document_idstring(uuid)= 36 charactersrequired

A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request

Example: 5f9aeb5e1f25e2441d182f56b6dcbfac12dd
No request payload

Responses

OK

The request was successful, and our system returned an expected response.

Bodyapplication/json
document_idstring(uuid)= 36 characters

A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request

Response
application/json
{ "document_id": "5f9aeb5e1f25e2441d182f56b6dcbfac12dd" }

Files

Files

Operations

Forms

Forms

Operations

Languages

Languages

Operations

Non-doc verifications

Non-doc verifications

Operations

Phone numbers

Phone numbers

Operations

QES

QES

Operations

Verifications

Verifications

Operations