Business Customer KYB

Trigger KYB for the business customer

You need to complete KYB before you can create products or deposit account for the business customer on Anchor.
After creating the business customer, make a POST request by passing the customerId to the endpoint to trigger KYB for the business customer

VerbEndpoint
POST{{baseUrl}}/customers/{customerId}/verification/business

Sample Request Payload

curl --request POST \
     --url https://api.getanchor.co/api/v1/customers/16968633133013-anc_bus_cst/verification/business \
     --header 'accept: application/json' \
     --header 'x-anchor-key: <API Key>'

Receive customer.identification.awaitingDocument Event

After triggering KYB for your business customer, you will receive an webhook event customer.identification.awaitingDocument with a list of documents to be uploaded for that business customer. It is good to listen to this event so you can upload the required documents

Sample of the customer.identification.awaitingDocument webhook event

{
  "data": {
    "id": "169686331345561-anc_et",
    "type": "customer.identification.awaitingDocument",
    "attributes": {
      "createdAt": "2023-10-09T14:55:13",
      "requiredDocuments": [
        {
          "type": "FORM_CAC_3",
          "description": "Notification of Registered Address or any Changes Therein"
        },
        {
          "type": "RC_NUMBER",
          "description": "Registration number for Incorporated Company"
        },
        {
          "type": "CERTIFICATE_OF_INCORPORATION",
          "description": "Certificate showing that the company is duly incorporated"
        },
        {
          "type": "PROOF_OF_ADDRESS",
          "description": "A document that proves an address such as utility bills etc."
        }
      ]
    },
    "relationships": {
      "documents": {
        "data": [
          {
            "id": "16968633134030-anc_doc",
            "type": "Document"
          },
          {
            "id": "16968633134324-anc_doc",
            "type": "Document"
          },
          {
            "id": "16968633134466-anc_doc",
            "type": "Document"
          },
          {
            "id": "16968633134527-anc_doc",
            "type": "Document"
          }
        ]
      },
      "customer": {
        "data": {
          "id": "16968633133013-anc_bus_cst",
          "type": "BusinessCustomer"
        }
      }
    }
  }
}

Fetch the documents needed for KYB for the business customer

You can also fetch all the requested documents for a customer by making a GET request to the endpoint {{baseUrl}}/api/v1/documents/{customerId}

https://docs.getanchor.co/reference/fetch-all-documents

curl --request GET \
     --url https://api.getanchor.co/api/v1/documents/16968633133013-anc_bus_cst \
     --header 'accept: application/json' \
     --header 'x-anchor-key: <API Key>'

Upload Requested Documents

After you trigger KYB for the business customer, you need to upload the requested KYB information for that business customer. This list of requested documents can be gotten in different ways:

  • Listen to customer.identification.awaitingDocument event
  • Fetch the documents needed for KYB for the business customer

📘

The documents to be provided depend on the type and year of registration of the business customer

a.) Upload Document Via Anchor Dashboard

You can easily upload KYB documents by using the dashboard URL app.getanchor.co/document-upload to upload documents

b.) Upload Document via API (Postman)

You can upload same documents via API from postman by following the steps:

VerbPOST
URL{{baseUrl}}/api/v1/documents/upload-document/{customerId}/{documentId}
  1. The Content-Type of the document upload endpoint is multipart/form-data. Ensure the content-type header is set to this while sending a document upload request. When uploading a multipart file using curl or any http client, a boundary is required. Most language libraries and form input in html adds it automatically for you by setting the content-type header in this format. Content-Type:multipart/form-data; boundary=----can be anything------
    If you are using curl or a client in which you are setting the content-type yourself, you need to pass the boundary in the format above.
curl --location --request POST 'https://api.sandbox.getanchor.co/api/v1/documents/upload-document/1709219366100434-anc_bus_cst/1709219967788444-anc_doc?textData=Rc0000000'' \
--header 'content-type: multipart/form-data; boundary=---' \
--header 'x-anchor-key: <API Key>'
  1. The fileData and textData values should be sent as form-data.
  2. While uploading RC and TIN, populate the value of the RC/TIN in the textData .

Events Relating to Documents

We send you document.approved and document.rejected event per document approved or rejected respectively.

The event customer.identification.approved is sent when all documents are reviewed and KYC is completed for a customer.