Request KYC documents from customers using the KYC request API which generates a signed link to the KYC document gatherer. The types of documents to request:
In the case that a credit-file-proof
is requested in combination with identity-proof
and address-proof
, the credit-file-proof
is attempted first. If it is successful in validating the identity and address, then the KYC request is considered instantly fulfilled. If it is not, or if you the credit-file-proof
isn't requested, then redirect your customer to the KYC document gatherer to collect their KYC documents. Rebilly parses and analyzes the documents and accepts or rejects them according to a configurable scoring algorithm. When all of the document types in the KYC request are accepted, the status is considered fulfilled and the KYC request fulfilled webhook will be emitted.
Retrieve a list of KYC documents.
A list of KYC documents was retrieved successfully.
Pagination-Total | integer Total items count. |
Pagination-Limit | integer Items per page limit. |
Pagination-Offset | integer Pagination offset. |
Unauthorized access, invalid credentials were used.
Access forbidden.
curl -i -X GET \ 'https://api-sandbox.rebilly.com/storefront/kyc-documents?limit=1000&offset=0' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
[- {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileIds": [
- "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
], - "documentType": "identity-proof",
- "documentSubtype": "passport",
- "status": "pending",
- "rejectionReason": {
- "type": "document-unreadable",
- "message": "Provided document is unreadable"
}, - "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": [
- {
- "rel": "self",
- "href": "string"
}
], - "documentMatches": {
- "score": 0.75,
- "data": {
- "containsImage": true,
- "isIdentityDocument": true,
- "isPublishedOnline": false,
- "firstName": "John",
- "lastName": "Doe",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "issueDate": "2019-08-24T14:15:22Z",
- "hasMinimalAge": true,
- "nationality": "US",
- "documentSubtype": "passport"
}
}
}
]
Create a KYC document.
Kyc document resource.
documentType required | string Document type submitted for validation, only identity-proof type is analyzed in an automated manner. |
fileId | string <= 50 characters Deprecated The resource ID. Defaults to UUID v4. |
fileIds | Array of strings Linked file object id's. Files uploaded for identity-proof must have following corresponding tags attached |
documentSubtype | string Document subtype submitted for validation. |
Kyc document was created.
documentType required | string Document type submitted for validation, only identity-proof type is analyzed in an automated manner. | ||||||||||||||||||||||||||||||
status required | string Status of the validation.
| ||||||||||||||||||||||||||||||
id | string <= 50 characters The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
fileId | string <= 50 characters Deprecated The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
fileIds | Array of strings Linked file object id's. Files uploaded for identity-proof must have following corresponding tags attached | ||||||||||||||||||||||||||||||
documentSubtype | string Document subtype submitted for validation. | ||||||||||||||||||||||||||||||
object (KycDocumentRejection) | |||||||||||||||||||||||||||||||
requestId | string or null <= 50 characters The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
createdTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
updatedTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
processedTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
Array of SelfLink (object) non-empty The links related to resource. | |||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||
|
Unauthorized access, invalid credentials were used.
Access forbidden.
Invalid data was sent.
{- "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileIds": [
- "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
], - "documentType": "identity-proof",
- "documentSubtype": "passport"
}
{- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileIds": [
- "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
], - "documentType": "identity-proof",
- "documentSubtype": "passport",
- "status": "pending",
- "rejectionReason": {
- "type": "document-unreadable",
- "message": "Provided document is unreadable"
}, - "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": [
- {
- "rel": "self",
- "href": "string"
}
], - "documentMatches": {
- "score": 0.75,
- "data": {
- "containsImage": true,
- "isIdentityDocument": true,
- "isPublishedOnline": false,
- "firstName": "John",
- "lastName": "Doe",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "issueDate": "2019-08-24T14:15:22Z",
- "hasMinimalAge": true,
- "nationality": "US",
- "documentSubtype": "passport"
}
}
}
Retrieve a KYC document with specified ID.
KYC document was retrieved successfully.
documentType required | string Document type submitted for validation, only identity-proof type is analyzed in an automated manner. | ||||||||||||||||||||||||||||||
status required | string Status of the validation.
| ||||||||||||||||||||||||||||||
id | string <= 50 characters The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
fileId | string <= 50 characters Deprecated The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
fileIds | Array of strings Linked file object id's. Files uploaded for identity-proof must have following corresponding tags attached | ||||||||||||||||||||||||||||||
documentSubtype | string Document subtype submitted for validation. | ||||||||||||||||||||||||||||||
object (KycDocumentRejection) | |||||||||||||||||||||||||||||||
requestId | string or null <= 50 characters The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
createdTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
updatedTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
processedTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
Array of SelfLink (object) non-empty The links related to resource. | |||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||
|
Unauthorized access, invalid credentials were used.
Access forbidden.
Resource was not found.
curl -i -X GET \ 'https://api-sandbox.rebilly.com/storefront/kyc-documents/{id}' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileIds": [
- "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
], - "documentType": "identity-proof",
- "documentSubtype": "passport",
- "status": "pending",
- "rejectionReason": {
- "type": "document-unreadable",
- "message": "Provided document is unreadable"
}, - "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": [
- {
- "rel": "self",
- "href": "string"
}
], - "documentMatches": {
- "score": 0.75,
- "data": {
- "containsImage": true,
- "isIdentityDocument": true,
- "isPublishedOnline": false,
- "firstName": "John",
- "lastName": "Doe",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "issueDate": "2019-08-24T14:15:22Z",
- "hasMinimalAge": true,
- "nationality": "US",
- "documentSubtype": "passport"
}
}
}
Update a KYC document with predefined ID.
KYC document resource.
documentType required | string Document type submitted for validation, only identity-proof type is analyzed in an automated manner. |
fileId | string <= 50 characters Deprecated The resource ID. Defaults to UUID v4. |
fileIds | Array of strings Linked file object id's. Files uploaded for identity-proof must have following corresponding tags attached |
documentSubtype | string Document subtype submitted for validation. |
KYC document was updated.
documentType required | string Document type submitted for validation, only identity-proof type is analyzed in an automated manner. | ||||||||||||||||||||||||||||||
status required | string Status of the validation.
| ||||||||||||||||||||||||||||||
id | string <= 50 characters The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
fileId | string <= 50 characters Deprecated The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
fileIds | Array of strings Linked file object id's. Files uploaded for identity-proof must have following corresponding tags attached | ||||||||||||||||||||||||||||||
documentSubtype | string Document subtype submitted for validation. | ||||||||||||||||||||||||||||||
object (KycDocumentRejection) | |||||||||||||||||||||||||||||||
requestId | string or null <= 50 characters The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||
createdTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
updatedTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
processedTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||
Array of SelfLink (object) non-empty The links related to resource. | |||||||||||||||||||||||||||||||
object | |||||||||||||||||||||||||||||||
|
Unauthorized access, invalid credentials were used.
Access forbidden.
Resource was not found.
Invalid data was sent.
{- "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileIds": [
- "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
], - "documentType": "identity-proof",
- "documentSubtype": "passport"
}
{- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileIds": [
- "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
], - "documentType": "identity-proof",
- "documentSubtype": "passport",
- "status": "pending",
- "rejectionReason": {
- "type": "document-unreadable",
- "message": "Provided document is unreadable"
}, - "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": [
- {
- "rel": "self",
- "href": "string"
}
], - "documentMatches": {
- "score": 0.75,
- "data": {
- "containsImage": true,
- "isIdentityDocument": true,
- "isPublishedOnline": false,
- "firstName": "John",
- "lastName": "Doe",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "issueDate": "2019-08-24T14:15:22Z",
- "hasMinimalAge": true,
- "nationality": "US",
- "documentSubtype": "passport"
}
}
}
Retrieve a KYC request with specified ID.
KYC request was retrieved successfully.
required | Array of objects Documents to be requested from customer. | ||||||||||||||||||||||||||||||||||||||||||
Array
| |||||||||||||||||||||||||||||||||||||||||||
id | string <= 50 characters The resource ID. Defaults to UUID v4. | ||||||||||||||||||||||||||||||||||||||||||
status | string Status of the request.
| ||||||||||||||||||||||||||||||||||||||||||
redirectUrl | string <uri> The URL to redirect the customer when an upload is completed.
When the customer is redirected, Rebilly will append an
| ||||||||||||||||||||||||||||||||||||||||||
expirationTime | string <date-time> Expiration date-time. Default value is one hour in the future. | ||||||||||||||||||||||||||||||||||||||||||
createdTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||||||||||||||
updatedTime | string <date-time> Read-only timestamp, automatically assigned on back-end. | ||||||||||||||||||||||||||||||||||||||||||
Array of SelfLink (object) or KycDocumentsLink (object) non-empty The links related to resource. | |||||||||||||||||||||||||||||||||||||||||||
object Any embedded objects available that are requested by the | |||||||||||||||||||||||||||||||||||||||||||
|
Unauthorized access, invalid credentials were used.
Access forbidden.
Resource was not found.
curl -i -X GET \ 'https://api-sandbox.rebilly.com/storefront/kyc-requests/{id}' \ -H 'Authorization: Bearer <YOUR_JWT_HERE>'
{- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "documents": [
- {
- "type": "identity-proof",
- "subtypes": [
- "passport"
], - "maxAttempts": 3,
- "faceProofRequired": true
}
], - "status": "gathering",
- "expirationTime": "2019-08-24T14:15:22Z",
- "createdTime": "2019-08-24T14:15:22Z",
- "updatedTime": "2019-08-24T14:15:22Z",
- "_links": [
- {
- "rel": "self",
- "href": "string"
}
], - "_embedded": {
- "documents": [
- {
- "id": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileId": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
- "fileIds": [
- "4f6cf35x-2c4y-483z-a0a9-158621f77a21"
], - "documentType": "identity-proof",
- "documentSubtype": "passport",
- "status": "pending",
- "rejectionReason": {
- "type": "document-unreadable",
- "message": "Provided document is unreadable"
}, - "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": [
- {
- "rel": "self",
- "href": "string"
}
], - "documentMatches": {
- "score": 0.75,
- "data": {
- "containsImage": true,
- "isIdentityDocument": true,
- "isPublishedOnline": false,
- "firstName": "John",
- "lastName": "Doe",
- "dateOfBirth": "2019-08-24T14:15:22Z",
- "expiryDate": "2019-08-24T14:15:22Z",
- "expirationDate": "2019-08-24T14:15:22Z",
- "issueDate": "2019-08-24T14:15:22Z",
- "hasMinimalAge": true,
- "nationality": "US",
- "documentSubtype": "passport"
}
}
}
]
}
}