KYC API

KYC API

The KYC API is a robust platform designed to streamline and automate the Know Your Customer (KYC) process, enabling secure and efficient identity verification. It integrates seamlessly with third-party providers to handle onboarding, document validation, and verification checks. The API supports multiple statuses, customizable workflows, ensuring compliance with regulatory requirements.
https://ics.singulardev.uk/kyc/api/v1
Onboarding

Swiftly generates onboarding starting process for user

GET /onboarding/users/{userId}/launch/url
GET /onboarding/users/{userId}/session/status
Get onboarding launch URL for User
GET https://ics.singulardev.uk/kyc/api/v1/onboarding/users/{userId}/launch/url

Authentication

Hash-based Message Authentication Code

Generates new onboarding session and gets onboarding url for the User

Path variables

userId
number required

Id of the user in PAM & Wallet

Example:
1234

Request headers

x-client-id
string uuid required

Unique client identifier associated with the request. Must be in UUID format.

To obtain a client ID for the client application, a specific client application should be registered in the KYC platform. At this stage, the registration should be performed by the product team.

Example:
9d75d50a-ef0b-45cd-9690-90ccce844266
x-client-hash
string sha-256 required

sha256(x-client-id + request-payload ?? "" + client-secret-key)

Security hash for request validation.

To obtain client secret key for the client application, a specific client application should be registered in the KYC platform. At this stage, the registration should be performed by the product team.

Example:
34e9e1ae1671a3ea4db3e01abbec52e894af3f4564e36e041f5b5bec3016571b

Responses

200 OK

200 - OK HTTP status code is returned in the response when the operation is successful and onboarding URL from third party vendor was retrieved successfully

Body
application/json
Object
code
string

Internal code, should always be success

Example:
Success
message
string

Success message

Example:
Operation was completed successfully!
data
Object

Data object representing response for getting onboarding URL

url
string

Unique URL created for the particular user, it can be directly used to start onboarding process

Example:
https://demo-onboarding.incodesmile.com/maxbet681/flow/640065fdad483a9d331f94f4?uuid=7ba3fdb3-fe83-42f9-a6f7-80853949989c
providerReferenceId
string

Session Id populated by provider during creating new onboarding session for the user

Example:
6712599b202589d3d6bc6660
400 Bad Request

400 - The Bad Request HTTP status code is returned in the response when the operation contains invalid parameters. A detailed error message will be included in the response body along with the corresponding status code.

404 Not Found

404 - Not Found HTTP status code is returned in the response when the requested resource is not found on the server. A detailed error message will be included in the response body along with the corresponding status code.

422 Unprocessable Entity

422 - Unprocessable Entity HTTP status code is returned in the response when input data validation fails

500 Internal Server Error

500 - Internal Server Error HTTP status code is returned in the response when the server encounters an unexpected condition that prevents it from fulfilling the request. A detailed error message will be included in the response body along with the corresponding status code to provide information about the encountered error.

Get Users onboarding session status
GET https://ics.singulardev.uk/kyc/api/v1/onboarding/users/{userId}/session/status

Authentication

Hash-based Message Authentication Code

Gets the status of users latest onboarding session.

Path variables

userId
number required

Id of the user in PAM & Wallet

Example:
1234

Request headers

x-client-id
string uuid required

Unique client identifier associated with the request. Must be in UUID format.

To obtain a client ID for the client application, a specific client application should be registered in the KYC platform. At this stage, the registration should be performed by the product team.

Example:
9d75d50a-ef0b-45cd-9690-90ccce844266
x-client-hash
string sha-256 required

sha256(x-client-id + request-payload ?? "" + client-secret-key)

Security hash for request validation.

To obtain client secret key for the client application, a specific client application should be registered in the KYC platform. At this stage, the registration should be performed by the product team.

Example:
34e9e1ae1671a3ea4db3e01abbec52e894af3f4564e36e041f5b5bec3016571b

Responses

200 OK

200 - OK HTTP status code is returned in the response when the operation is successful and onboarding session status code was retrieved successfully

Body
application/json
Object
code
string

Internal code, should always be success

Example:
Success
data
Object

Data object representing response for the onboarding session status

status
string

Onboarding session status code for particular user

Enumeration:
Init

Onboarding session record was created

Pending

Onboarding Url was generated successfully, but the process is not finished yet

Success

Onboarding process was finished by user and user passed successfully

ManualInteraction

Onboarding processwas finished by user, but manual interaction is needed in order to approve or reject

Failed

Onboarding process was finished by user but failied verification

Error

An error occurred during the onboarding process, but it wasn’t due to a specific known failure

400 Bad Request

400 - The Bad Request HTTP status code is returned in the response when the operation contains invalid parameters. A detailed error message will be included in the response body along with the corresponding status code.

404 Not Found

404 - Not Found HTTP status code is returned in the response when the requested resource is not found on the server. A detailed error message will be included in the response body along with the corresponding status code.

422 Unprocessable Entity

422 - Unprocessable Entity HTTP status code is returned in the response when input data validation fails

500 Internal Server Error

500 - Internal Server Error HTTP status code is returned in the response when the server encounters an unexpected condition that prevents it from fulfilling the request. A detailed error message will be included in the response body along with the corresponding status code to provide information about the encountered error.

Common Responses
200 Success

200 - OK HTTP status code is returned in the response when the operation is successful. A descriptive message confirming the successful operation will be included in the response body along with any relevant data, if applicable.

Body
application/json
Object
code
string

Internal status code, should be always Success

Example:
Success
data
Object

A class containing the result of a message send operation

400 Bad Request

400 - The Bad Request HTTP status code is returned in the response when the operation contains invalid parameters. A detailed error message will be included in the response body along with the corresponding status code.

Body
application/json
Object
code
string required
Enumeration:
WrongRequest
WrongHash
OperationFailed
FieldFormatNotMatched
MissingParameters
message
string required

A message providing additional information about the response.

Example:
The provided hash doesn't match the expected value. Please ensure you are using the correct hashing algorithm.
404 Not Found

404 - Not Found HTTP status code is returned in the response when the requested resource is not found on the server. A detailed error message will be included in the response body along with the corresponding status code.

Body
application/json
Object
code
string
Enumeration:
NotFound

Not found status code for general purposes

ProviderNotFound

Could not find provider

StatusItemDoesNotExists

Requested entry does not exist

message
string
Example:
Onboarding session was not found. UserId: 1234, Provider: Incode
422 Unprocessable Entity

422 - Unprocessable Entity HTTP status code is returned in the response when input data validation fails

500 Internal Server Error

500 - Internal Server Error HTTP status code is returned in the response when the server encounters an unexpected condition that prevents it from fulfilling the request. A detailed error message will be included in the response body along with the corresponding status code to provide information about the encountered error.

Common Headers
x-client-id
string uuid required
Applied to all operations

Unique client identifier associated with the request. Must be in UUID format.

To obtain a client ID for the client application, a specific client application should be registered in the KYC platform. At this stage, the registration should be performed by the product team.

Example:
9d75d50a-ef0b-45cd-9690-90ccce844266
x-client-hash
string sha-256 required
Applied to all operations

sha256(x-client-id + request-payload ?? "" + client-secret-key)

Security hash for request validation.

To obtain client secret key for the client application, a specific client application should be registered in the KYC platform. At this stage, the registration should be performed by the product team.

Example:
34e9e1ae1671a3ea4db3e01abbec52e894af3f4564e36e041f5b5bec3016571b
Type Definitions
Bad Request Internal Status Codes

Description of internal status codes that might be returned in the code field of the response object.

string
Enumeration:
WrongRequest
WrongHash
OperationFailed
FieldFormatNotMatched
MissingParameters
Responses: Bad Request
Not Found Internal Status Codes

A class containing the result of generating launch URL

string
Enumeration:
NotFound

Not found status code for general purposes

ProviderNotFound

Could not find provider

StatusItemDoesNotExists

Requested entry does not exist

Responses: Not Found