POST /kyc-requests

Creates a KYC request.

The customer is redirected to the kycGatherer link. After the customer completes the KYC process, they are redirected back to the redirectUrl link.

Corresponding webhooks, such as: KYC document accepted and KYC document rejected, are sent to the subscribers.

When the complete list of documents is received and accepted, the KYC request fulfilled webhook is sent to subscribers.

If a credit-file-proof request is successful, it returns a decision value of single-source or dual-source. The corresponding identity-proof and address-proof documents are not requested.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
_embedded Object No

Embedded objects that are requested by the expand query parameter.

_embedded.documents[] Array No
revision Integer No

Number of times the KYC request data has been modified.

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

createdTime String No

Date and time when the resource is created. This value is set automatically when the resource is created.

status String No

Status of the request.

Valid values:

  • "partial"
  • "fulfilled"
  • "failed"
  • "gathering"
  • "abandoned"
  • "pending-review"
  • "expired"
  • "attempted"
customerId String Yes

ID of the customer resource.

matchLevel Integer No

Document verification level.

Valid values:

  • 1
  • 2
  • 3

Default value: 2

id String No

ID of the KYC request.

documents[] Array Yes

Documents to request from the customer.

documents[].maxAttempts Integer No

Total number of allowed document upload attempts. Use 0 to allow unlimited upload attempts.

Default value: 3

documents[].faceProofRequired Boolean No

Specifies if the customer must upload a photo of their face (selfie) that matches a provided KYC document.

documents[].subtypes[] Array No

Permitted document subtype.

documents[].type String Yes

Type of document to request from the customer.

Valid values:

  • "identity-proof"
  • "address-proof"
  • "purchase-proof"
  • "credit-file-proof"
  • "funds-proof"
documents[].faceLivenessRequired Boolean No

Specifies if the customer must use the face liveness feature when uploading a selfie. For more information, see Facial recognition and identity verification.

_links[] Array No

Related links.

_links[].href String No

Link URL.

_links[].rel String No

Type of link.

Valid values:

  • "documents"
  • "gatherer"
  • "self"
updatedTime String No

Date and time when the resource is updated. This value is set automatically when the resource is updated.

redirectUrl String No

URL where the customer is redirected when a KYC document upload is complete. When the customer is redirected, Rebilly appends an info query parameter that has one of the following values:

  • back: Customer clicked the back to website link.
  • token_expired: Customer's token expired.
  • success: Customer uploaded KYC documents that have been analyzed.
  • manual: Customer uploaded KYC documents that require a manual review. This is because the analyzer rejected the documents or could not process them.
  • partial: Some of the customer's KYC documents have been analyzed, but other documents have not. For example, this may occur when a proof of address document is analyzed but proof of ID is not.

Example: https://example.com?info=success.

expirationTime String No

Date and time when the request expires. The default value is one hour in the future.

reason String No

Reason for uploading.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.