Upsert a KYC document

Creates or updates (upserts) a KYC document with a specified ID.

SecurityAPI Key: SecretApiKey or HTTP: JWT
Request
path Parameters
id
required
string <= 50 characters ^[@~\-\.\w]+$

ID of the resource.

Request Body schema: application/json

KYC document resource.

fileIds
required
Array of strings

IDs of linked file objects.

Uploaded identity-proof files must have the following tags attached to be used for KYC purposes: ['kyc', 'id-front'], ['kyc', 'id-back'], ['kyc', 'face-proof'].

documentType
required
string (KycDocumentTypes)

Document type submitted for validation. Only the identity-proof and address-proof types are analyzed automatically.

documentSubtype
string or null (KycDocumentSubtypes)

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" "marriage-certificate" "firearms-license" "insurance-letter" "income-statement" "debtors-letter" "other" null
customerId
required
string (CustomerId) <= 50 characters

ID of the customer resource.

notes
string or null

Reviewer notes.

reason
string or null

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

Tolerance level setting for document matches.

put
/kyc-documents/{id}
Request samples
application/json
{ "fileIds": [ "file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N" ], "documentType": "identity-proof", "documentSubtype": "passport", "customerId": "cus_0YV7DDSDD1C8DA64KHH2W33CPF", "notes": "string", "reason": "string", "matchLevel": 2, "settings": { } }
Responses

200

KYC document updated.

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

ID of the KYC document.

fileIds
required
Array of strings

IDs of linked file objects.

Uploaded identity-proof files must have the following tags attached to be used for KYC purposes: ['kyc', 'id-front'], ['kyc', 'id-back'], ['kyc', 'face-proof'].

documentType
required
string (KycDocumentTypes)

Document type submitted for validation. Only the identity-proof and address-proof types are analyzed automatically.

documentSubtype
string or null (KycDocumentSubtypes)

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" "marriage-certificate" "firearms-license" "insurance-letter" "income-statement" "debtors-letter" "other" null
status
required
string

Status of the validation.

Enum Value Description
pending

Waiting to be reviewed or analyzed.

in-progress

Being analyzed by the Rebilly AI.

accepted

Accepted by AI or a human.

rejected

Rejected by AI or a human.

archived

Archived by the Rebilly AI.

object or null (KycDocumentRejection)

Reason the document is rejected.

requestId
string or null <= 50 characters

ID of the KYC request.

createdTime
string <date-time> (CreatedTime)

Date and time which is set automatically when the resource is created.

updatedTime
string <date-time> (UpdatedTime)

Date and time which updates automatically when the resource is updated.

processedTime
string or null <date-time>

Date and time when the KYC document is processed.

customerId
required
string (CustomerId) <= 50 characters

ID of the customer resource.

reviewerId
string or null <= 50 characters

ID of the KYC document reviewer.

reviewerName
string or null

First and last name of the KYC document reviewer.

reviewStartTime
string or null <date-time>

Date and time when the manual review starts.

reviewTime
string or null <date-time>

Date and time of manual review.

notes
string or null

Reviewer notes.

Array of objects (Tag)

List of KYC document tags.

reason
string or null

Reason for uploading.

matchLevel
integer [ 1 .. 2 ]

Tolerance level setting for document matches.

revision
integer

Number of times the KYC document data has been modified.

Use this value when analyzing webhook data to determine if a change must take precedence over the current representation.

object or null

Proof of identity document matches.

object or null

Parsed data.

KycSettingsIdentity (object) or null

Settings used to score the document.

Array of objects

Related links.

object

Embedded objects that are requested by the expand query parameter.

201

KYC document created.

401

Unauthorized access. Invalid credentials used.

403

Access forbidden.

404

Resource not found.

422

Invalid data sent.

Response samples
application/json
{ "id": "kyc_doc_0YV7JHY705C6DA487BFTAA33V8", "fileIds": [ "file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N" ], "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", "customerId": "cus_0YV7DDSDD1C8DA64KHH2W33CPF", "reviewerId": "44433322-2c4y-483z-a0a9-158621f77a21", "reviewerName": "string", "reviewStartTime": "2019-08-24T14:15:22Z", "reviewTime": "2019-08-24T14:15:22Z", "notes": "string", "tags": [ ], "reason": "string", "matchLevel": 2, "revision": 0, "documentMatches": { "score": 0.75, }, "parsedData": { "score": 0.75, }, "settings": { }, "_links": [ ], "_embedded": { "customer": { }, "files": [ ] } }