KYC Documents

Customer KYC files uploaded on behalf of a customer, tagged with a document type and submitted for validation.

Retrieve a list of KYC documents

Retrieve a list of KYC documents.

Request
Security:
query Parameters
limit
integer [ 0 .. 1000 ]

The collection items limit.

offset
integer >= 0

The collection items offset.

filter
string

The collection items filter requires a special format. Use "," for multiple allowed values. Use ";" for multiple fields. See the filter guide for more options and examples about this format.

sort
Array of strings

The collection items sort field and order (prefix with "-" for descending sort).

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Responses
200A list of KYC documents was retrieved successfully.
Response Headers
Pagination-Total
integer

Total items count.

Pagination-Limit
integer

Items per page limit.

Pagination-Offset
integer

Pagination offset.

Response Schema: application/json
Array
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
401Unauthorized access, invalid credentials was used.
403Access forbidden.
get/kyc-documents
Request samples
// all parameters are optional
const firstCollection = await api.kycDocuments.getAll();

// alternatively you can specify one or more of them
const params = {limit: 20, offset: 100, sort: '-createdTime'};
const secondCollection = await api.kycDocuments.getAll(params);

// access the collection items, each item is a Member
secondCollection.items.forEach(document => console.log(document.fields.documentType));
Response samples
application/json
[
  • {
    }
]

Create a KYC Document

Create a KYC Document.

Request
Security:
header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Request Body schema: application/json

Kyc document resource.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
customerId
required
string <= 50 characters

The сustomer's ID.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Responses
201Kyc document was created.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
401Unauthorized access, invalid credentials was used.
403Access forbidden.
422Invalid data was sent.
post/kyc-documents
Request samples
application/json
{
  • "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileIds": [
    ],
  • "documentType": "identity-proof",
  • "documentSubtype": "passport",
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "notes": "string",
  • "reason": "string",
  • "matchLevel": 2
}
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileIds": [
    ],
  • "documentType": "identity-proof",
  • "documentSubtype": "passport",
  • "status": "pending",
  • "rejectionReason": {
    },
  • "requestId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "processedTime": "2019-08-24T14:15:22Z",
  • "_links": [
    ],
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerName": "string",
  • "reviewTime": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "reason": "string",
  • "matchLevel": 2,
  • "documentMatches": {
    },
  • "parsedData": {
    }
}

Retrieve a KYC Document

Retrieve a KYC document with specified identifier string.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Responses
200KYC document was retrieved successfully.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
get/kyc-documents/{id}
Request samples
const document = await api.kycDocuments.get({id: 'foobar-001'});
console.log(document.fields.documentType);
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileIds": [
    ],
  • "documentType": "identity-proof",
  • "documentSubtype": "passport",
  • "status": "pending",
  • "rejectionReason": {
    },
  • "requestId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "processedTime": "2019-08-24T14:15:22Z",
  • "_links": [
    ],
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerName": "string",
  • "reviewTime": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "reason": "string",
  • "matchLevel": 2,
  • "documentMatches": {
    },
  • "parsedData": {
    }
}

Create or update a KYC document with predefined ID

Create or update a KYC document with predefined identifier string.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Request Body schema: application/json

KYC document resource.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
customerId
required
string <= 50 characters

The сustomer's ID.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Responses
200KYC document was updated.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
201KYC document was created.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
422Invalid data was sent.
put/kyc-documents/{id}
Request samples
application/json
{
  • "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileIds": [
    ],
  • "documentType": "identity-proof",
  • "documentSubtype": "passport",
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "notes": "string",
  • "reason": "string",
  • "matchLevel": 2
}
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileIds": [
    ],
  • "documentType": "identity-proof",
  • "documentSubtype": "passport",
  • "status": "pending",
  • "rejectionReason": {
    },
  • "requestId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "processedTime": "2019-08-24T14:15:22Z",
  • "_links": [
    ],
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerName": "string",
  • "reviewTime": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "reason": "string",
  • "matchLevel": 2,
  • "documentMatches": {
    },
  • "parsedData": {
    }
}

Accept a KYC document

Marks that status of the document as accepted. Updates the review time and reviewer information. Intended to be used for manual overrides.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Responses
201KYC document acceptance was created.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
post/kyc-documents/{id}/acceptance
Request samples
const acceptedDocument = await api.kycDocuments.accept({id: 'my-second-id'});
console.log(acceptedDocument.fields.status);
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileIds": [
    ],
  • "documentType": "identity-proof",
  • "documentSubtype": "passport",
  • "status": "pending",
  • "rejectionReason": {
    },
  • "requestId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "processedTime": "2019-08-24T14:15:22Z",
  • "_links": [
    ],
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerName": "string",
  • "reviewTime": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "reason": "string",
  • "matchLevel": 2,
  • "documentMatches": {
    },
  • "parsedData": {
    }
}

Update a KYC document's documentMatches

Updates a KYC document's documentMatches. Intended to be used for manual overrides.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Request Body schema: application/json

Kyc document resource.

Any of:
containsImage
boolean

Flag that indicates if there is an image that contains a face on it.

isIdentityDocument
boolean

Flag that indicates if this looks like and ID.

isPublishedOnline
boolean

If there is an exact match found online.

firstName
string

The customer first name if it was matched, null otherwise.

lastName
string

The customer last name if it was matched, null otherwise.

dateOfBirth
string <date-time>

The date of birth found on the document, null if not found.

expiryDate
string <date-time>

The expiry date found on the document, null if not found.

issueDate
string <date-time>

The issued date found on the document, null if not found.

nationality
string <= 3 characters

The nationality found on the document, null otherwise.

Responses
204KYC document's documentMatches were updated.
401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
post/kyc-documents/{id}/matches
Request samples
application/json
{
  • "containsImage": true,
  • "isIdentityDocument": true,
  • "isPublishedOnline": false,
  • "firstName": "John",
  • "lastName": "Doe",
  • "dateOfBirth": "2019-08-24T14:15:22Z",
  • "expiryDate": "2019-08-24T14:15:22Z",
  • "issueDate": "2019-08-24T14:15:22Z",
  • "nationality": "US"
}
Response samples
application/json
{
  • "status": 400,
  • "title": "string",
  • "detail": "string",
  • "error": "string"
}

Reject a KYC document

Marks that status of the document as rejected. Updates the review time and reviewer information. Intended to be used for manual overrides.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Request Body schema: application/json

KYC document resource.

type
string
Enum: "document-unreadable" "document-expired" "document-not-matching" "underage-person" "other"
message
string

The rejection message.

Responses
201KYC document rejection was created.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
422Invalid data was sent.
post/kyc-documents/{id}/rejection
Request samples
application/json
{
  • "type": "document-unreadable",
  • "message": "Provided document is unreadable"
}
Response samples
application/json
{
  • "status": 400,
  • "title": "string",
  • "detail": "string",
  • "error": "string"
}

Review a KYC document

Mark the KYC document as reviewed. Updates the review time and reviewer. information.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Responses
201KYC document was reviewed.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

fileId
string <= 50 characters
Deprecated

Linked file object id.

fileIds
Array of strings

Linked file object id's.

documentType
required
string

Document type submitted for validation, only identity-proof type is analyzed in an automated manner.

documentSubtype
string

Document subtype submitted for validation.

Enum: "passport" "id-card" "driver-license" "birth-certificate" "utility-bill" "rental-receipt" "lease-agreement" "copy-credit-card" "credit-card-statement" "bank-statement" "inheritance-documentation" "tax-return" "salary-slip" "sale-of-assets" "public-health-card" "proof-of-age-card" "reverse-of-id" "public-service" "ewallet-holder-details" "ewallet-transaction-statement" "other"
status
required
string

Status of the validation.

Enum: "pending" "in-progress" "accepted" "rejected"
object (KycDocumentRejection)
requestId
string or null <= 50 characters

KYC request identifier string.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

processedTime
string <date-time>

Processing date/time.

Array of SelfLink (object) non-empty

The links related to resource.

customerId
required
string <= 50 characters

The сustomer's ID.

reviewerId
string or null <= 50 characters

Reviewer's user ID.

reviewerName
string or null

Reviewer's first and last name.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

object
object
401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
422Invalid data was sent.
post/kyc-documents/{id}/review
Request samples
const reviewedDocument = await api.kycDocuments.review({id: 'my-second-id'});
console.log(reviewedDocument.fields.status);
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "fileIds": [
    ],
  • "documentType": "identity-proof",
  • "documentSubtype": "passport",
  • "status": "pending",
  • "rejectionReason": {
    },
  • "requestId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "processedTime": "2019-08-24T14:15:22Z",
  • "_links": [
    ],
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reviewerName": "string",
  • "reviewTime": "2019-08-24T14:15:22Z",
  • "notes": "string",
  • "reason": "string",
  • "matchLevel": 2,
  • "documentMatches": {
    },
  • "parsedData": {
    }
}

Retrieve a list of KYC requests

Retrieve a list of KYC requests.

Request
Security:
query Parameters
limit
integer [ 0 .. 1000 ]

The collection items limit.

offset
integer >= 0

The collection items offset.

filter
string

The collection items filter requires a special format. Use "," for multiple allowed values. Use ";" for multiple fields. See the filter guide for more options and examples about this format.

sort
Array of strings

The collection items sort field and order (prefix with "-" for descending sort).

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Responses
200A list of KYC requests was retrieved successfully.
Response Headers
Pagination-Total
integer

Total items count.

Pagination-Limit
integer

Items per page limit.

Pagination-Offset
integer

Pagination offset.

Response Schema: application/json
Array
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

required
Array of objects

Documents to be requested from customer.

redirectUrl
string <uri>

The URL to redirect the customer when an upload is completed.

expirationTime
string <date-time>

Expiration date/time.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

customerId
required
string <= 50 characters

The сustomer's ID.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Array of SelfLink (object) or KycDocumentsLink (object) or KycGathererLink (object) non-empty

The links related to resource.

401Unauthorized access, invalid credentials was used.
403Access forbidden.
get/kyc-requests
Request samples
curl -i -X GET \
  'https://api-sandbox.rebilly.com/kyc-requests?limit=1000&offset=0&filter=string&sort=string' \
  -H 'Organization-Id: 4f6cf35x-2c4y-483z-a0a9-158621f77a21' \
  -H 'REB-APIKEY: YOUR_API_KEY_HERE'
Response samples
application/json
[
  • {
    }
]

Create a KYC Request

Create a KYC Request.

Request
Security:
header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Request Body schema: application/json

Kyc request resource.

required
Array of objects

Documents to be requested from customer.

redirectUrl
string <uri>

The URL to redirect the customer when an upload is completed.

expirationTime
string <date-time>

Expiration date/time.

customerId
required
string <= 50 characters

The сustomer's ID.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Responses
201Kyc request was created.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

required
Array of objects

Documents to be requested from customer.

redirectUrl
string <uri>

The URL to redirect the customer when an upload is completed.

expirationTime
string <date-time>

Expiration date/time.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

customerId
required
string <= 50 characters

The сustomer's ID.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Array of SelfLink (object) or KycDocumentsLink (object) or KycGathererLink (object) non-empty

The links related to resource.

401Unauthorized access, invalid credentials was used.
403Access forbidden.
422Invalid data was sent.
post/kyc-requests
Request samples
application/json
{
  • "documents": [
    ],
  • "redirectUrl": "http://example.com",
  • "expirationTime": "2019-08-24T14:15:22Z",
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reason": "string",
  • "matchLevel": 2
}
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "documents": [
    ],
  • "redirectUrl": "http://example.com",
  • "expirationTime": "2019-08-24T14:15:22Z",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reason": "string",
  • "matchLevel": 2,
  • "_links": [
    ]
}

Retrieve a KYC request

Retrieve a KYC request with specified identifier string.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Responses
200KYC request was retrieved successfully.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

required
Array of objects

Documents to be requested from customer.

redirectUrl
string <uri>

The URL to redirect the customer when an upload is completed.

expirationTime
string <date-time>

Expiration date/time.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

customerId
required
string <= 50 characters

The сustomer's ID.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Array of SelfLink (object) or KycDocumentsLink (object) or KycGathererLink (object) non-empty

The links related to resource.

401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
get/kyc-requests/{id}
Request samples
curl -i -X GET \
  https://api-sandbox.rebilly.com/kyc-requests/:id \
  -H 'Organization-Id: 4f6cf35x-2c4y-483z-a0a9-158621f77a21' \
  -H 'REB-APIKEY: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "documents": [
    ],
  • "redirectUrl": "http://example.com",
  • "expirationTime": "2019-08-24T14:15:22Z",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reason": "string",
  • "matchLevel": 2,
  • "_links": [
    ]
}

Update a KYC request

Update a KYC request.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Request Body schema: application/json
required
Array of objects

Documents to be requested from customer.

redirectUrl
string <uri>

The URL to redirect the customer when an upload is completed.

expirationTime
string <date-time>

Expiration date/time.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Responses
200KYC request was updated.
Response Schema: application/json
id
string <= 50 characters

The resource ID. Defaults to UUID v4.

required
Array of objects

Documents to be requested from customer.

redirectUrl
string <uri>

The URL to redirect the customer when an upload is completed.

expirationTime
string <date-time>

Expiration date/time.

createdTime
string <date-time>

Creation date/time.

updatedTime
string <date-time>

Latest update date/time.

customerId
required
string <= 50 characters

The сustomer's ID.

reason
string

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

The level of strictness for the document matches.

Array of SelfLink (object) or KycDocumentsLink (object) or KycGathererLink (object) non-empty

The links related to resource.

401Unauthorized access, invalid credentials was used.
403Access forbidden.
404Resource was not found.
422Invalid data was sent.
patch/kyc-requests/{id}
Request samples
application/json
{
  • "documents": [
    ],
  • "redirectUrl": "http://example.com",
  • "expirationTime": "2019-08-24T14:15:22Z",
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reason": "string",
  • "matchLevel": 2
}
Response samples
application/json
{
  • "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "documents": [
    ],
  • "redirectUrl": "http://example.com",
  • "expirationTime": "2019-08-24T14:15:22Z",
  • "createdTime": "2019-08-24T14:15:22Z",
  • "updatedTime": "2019-08-24T14:15:22Z",
  • "customerId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
  • "reason": "string",
  • "matchLevel": 2,
  • "_links": [
    ]
}

Delete the KYC request

Delete the KYC request with the predefined identifier string.

Request
Security:
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

The resource identifier string.

header Parameters
Organization-Id
string (ResourceId) <= 50 characters

Organization identifier in scope of which need to perform request (if not specified, the default organization will be used).

Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21
Responses
204The KYC request was deleted.
401Unauthorized access, invalid credentials was used.
404Resource was not found.
delete/kyc-requests/{id}
Request samples
curl -i -X DELETE \
  https://api-sandbox.rebilly.com/kyc-requests/:id \
  -H 'Organization-Id: 4f6cf35x-2c4y-483z-a0a9-158621f77a21' \
  -H 'REB-APIKEY: YOUR_API_KEY_HERE'
Response samples
application/json
{
  • "status": 400,
  • "title": "string",
  • "detail": "string",
  • "error": "string"
}

KYC document acceptedWebhook

Request
Security:
Request Body schema: application/json

KYC document webhook request body resource.

customerId
string

The customer ID.

kycDocumentId
string

The KYC document ID.

fileId
string

The file ID.

eventType
string (GlobalWebhookEventType)

Rebilly webhooks event type.

Enum: "aml-list-possibly-matched" "customer-created" "customer-merged" "customer-one-time-password-requested" "customer-updated" "dispute-created" "dispute-modified" "experian-check-performed" "gateway-account-downtime-ended" "gateway-account-downtime-started" "gateway-account-limit-reached" "gateway-account-onboarding-completed" "gateway-account-onboarding-failed" "gateway-account-requested" "invoice-abandoned" "invoice-created" "invoice-issued" "invoice-modified" "invoice-paid" "invoice-past-due" "invoice-past-due-reminder" "invoice-reissued" "invoice-voided" "kyc-document-accepted" "kyc-document-created" "kyc-document-modified" "kyc-document-rejected" "kyc-document-reviewed" "lead-source-changed" "nsf-response-received" "offsite-payment-completed" "order-completed" "payment-card-created" "payment-card-expiration-reminder" "payment-card-expired" "payment-instrument-modified" "renewal-invoice-issued" "renewal-invoice-payment-canceled" "renewal-invoice-payment-declined" "risk-score-changed" "subscription-activated" "subscription-canceled" "subscription-modified" "subscription-reactivated" "subscription-renewal-reminder" "subscription-renewed" "subscription-trial-converted" "subscription-trial-end-reminder" "subscription-trial-ended" "subscription-trial-end-changed" "transaction-amount-discrepancy-found" "transaction-declined" "transaction-discrepancy-found" "transaction-process-requested" "transaction-processed" "transaction-reconciled" "transaction-timeout-resolved" "waiting-gateway-transaction-completed"
object
Array of CustomerLink (object) or FileLink (object) or KycDocumentLink (object) >= 3 items

The links related to resource.

Responses
2xxReturn any 2xx status to indicate that the data was received successfully.
Request samples
application/json
{
  • "customerId": "string",
  • "kycDocumentId": "string",
  • "fileId": "string",
  • "eventType": "aml-list-possibly-matched",
  • "_embedded": {
    },
  • "_links": [
    ]
}

KYC document modifiedWebhook

Request
Security:
Request Body schema: application/json

KYC document webhook request body resource.

customerId
string

The customer ID.

kycDocumentId
string

The KYC document ID.

fileId
string

The file ID.

eventType
string (GlobalWebhookEventType)

Rebilly webhooks event type.

Enum: "aml-list-possibly-matched" "customer-created" "customer-merged" "customer-one-time-password-requested" "customer-updated" "dispute-created" "dispute-modified" "experian-check-performed" "gateway-account-downtime-ended" "gateway-account-downtime-started" "gateway-account-limit-reached" "gateway-account-onboarding-completed" "gateway-account-onboarding-failed" "gateway-account-requested" "invoice-abandoned" "invoice-created" "invoice-issued" "invoice-modified" "invoice-paid" "invoice-past-due" "invoice-past-due-reminder" "invoice-reissued" "invoice-voided" "kyc-document-accepted" "kyc-document-created" "kyc-document-modified" "kyc-document-rejected" "kyc-document-reviewed" "lead-source-changed" "nsf-response-received" "offsite-payment-completed" "order-completed" "payment-card-created" "payment-card-expiration-reminder" "payment-card-expired" "payment-instrument-modified" "renewal-invoice-issued" "renewal-invoice-payment-canceled" "renewal-invoice-payment-declined" "risk-score-changed" "subscription-activated" "subscription-canceled" "subscription-modified" "subscription-reactivated" "subscription-renewal-reminder" "subscription-renewed" "subscription-trial-converted" "subscription-trial-end-reminder" "subscription-trial-ended" "subscription-trial-end-changed" "transaction-amount-discrepancy-found" "transaction-declined" "transaction-discrepancy-found" "transaction-process-requested" "transaction-processed" "transaction-reconciled" "transaction-timeout-resolved" "waiting-gateway-transaction-completed"
object
Array of CustomerLink (object) or FileLink (object) or KycDocumentLink (object) >= 3 items

The links related to resource.

Responses
2xxReturn any 2xx status to indicate that the data was received successfully.
Request samples
application/json
{
  • "customerId": "string",
  • "kycDocumentId": "string",
  • "fileId": "string",
  • "eventType": "aml-list-possibly-matched",
  • "_embedded": {
    },
  • "_links": [
    ]
}

KYC document rejectedWebhook

Request
Security:
Request Body schema: application/json

KYC document webhook request body resource.

customerId
string

The customer ID.

kycDocumentId
string

The KYC document ID.

fileId
string

The file ID.

eventType
string (GlobalWebhookEventType)

Rebilly webhooks event type.

Enum: "aml-list-possibly-matched" "customer-created" "customer-merged" "customer-one-time-password-requested" "customer-updated" "dispute-created" "dispute-modified" "experian-check-performed" "gateway-account-downtime-ended" "gateway-account-downtime-started" "gateway-account-limit-reached" "gateway-account-onboarding-completed" "gateway-account-onboarding-failed" "gateway-account-requested" "invoice-abandoned" "invoice-created" "invoice-issued" "invoice-modified" "invoice-paid" "invoice-past-due" "invoice-past-due-reminder" "invoice-reissued" "invoice-voided" "kyc-document-accepted" "kyc-document-created" "kyc-document-modified" "kyc-document-rejected" "kyc-document-reviewed" "lead-source-changed" "nsf-response-received" "offsite-payment-completed" "order-completed" "payment-card-created" "payment-card-expiration-reminder" "payment-card-expired" "payment-instrument-modified" "renewal-invoice-issued" "renewal-invoice-payment-canceled" "renewal-invoice-payment-declined" "risk-score-changed" "subscription-activated" "subscription-canceled" "subscription-modified" "subscription-reactivated" "subscription-renewal-reminder" "subscription-renewed" "subscription-trial-converted" "subscription-trial-end-reminder" "subscription-trial-ended" "subscription-trial-end-changed" "transaction-amount-discrepancy-found" "transaction-declined" "transaction-discrepancy-found" "transaction-process-requested" "transaction-processed" "transaction-reconciled" "transaction-timeout-resolved" "waiting-gateway-transaction-completed"
object
Array of CustomerLink (object) or FileLink (object) or KycDocumentLink (object) >= 3 items

The links related to resource.

Responses
2xxReturn any 2xx status to indicate that the data was received successfully.
Request samples
application/json
{
  • "customerId": "string",
  • "kycDocumentId": "string",
  • "fileId": "string",
  • "eventType": "aml-list-possibly-matched",
  • "_embedded": {
    },
  • "_links": [
    ]
}

KYC document reviewedWebhook

Request
Security:
Request Body schema: application/json

KYC document webhook request body resource.

customerId
string

The customer ID.

kycDocumentId
string

The KYC document ID.

fileId
string

The file ID.

eventType
string (GlobalWebhookEventType)

Rebilly webhooks event type.

Enum: "aml-list-possibly-matched" "customer-created" "customer-merged" "customer-one-time-password-requested" "customer-updated" "dispute-created" "dispute-modified" "experian-check-performed" "gateway-account-downtime-ended" "gateway-account-downtime-started" "gateway-account-limit-reached" "gateway-account-onboarding-completed" "gateway-account-onboarding-failed" "gateway-account-requested" "invoice-abandoned" "invoice-created" "invoice-issued" "invoice-modified" "invoice-paid" "invoice-past-due" "invoice-past-due-reminder" "invoice-reissued" "invoice-voided" "kyc-document-accepted" "kyc-document-created" "kyc-document-modified" "kyc-document-rejected" "kyc-document-reviewed" "lead-source-changed" "nsf-response-received" "offsite-payment-completed" "order-completed" "payment-card-created" "payment-card-expiration-reminder" "payment-card-expired" "payment-instrument-modified" "renewal-invoice-issued" "renewal-invoice-payment-canceled" "renewal-invoice-payment-declined" "risk-score-changed" "subscription-activated" "subscription-canceled" "subscription-modified" "subscription-reactivated" "subscription-renewal-reminder" "subscription-renewed" "subscription-trial-converted" "subscription-trial-end-reminder" "subscription-trial-ended" "subscription-trial-end-changed" "transaction-amount-discrepancy-found" "transaction-declined" "transaction-discrepancy-found" "transaction-process-requested" "transaction-processed" "transaction-reconciled" "transaction-timeout-resolved" "waiting-gateway-transaction-completed"
object
Array of CustomerLink (object) or FileLink (object) or KycDocumentLink (object) >= 3 items

The links related to resource.

Responses
2xxReturn any 2xx status to indicate that the data was received successfully.
Request samples
application/json
{
  • "customerId": "string",
  • "kycDocumentId": "string",
  • "fileId": "string",
  • "eventType": "aml-list-possibly-matched",
  • "_embedded": {
    },
  • "_links": [
    ]
}