Skip to navigation

Upload KYC documents

Sends identity documents for a customer of your business to Halo for verification. Find the customer by email or by an account number your business opened. Send all three images and the ID type; the request is refused without them. A customer who also banks with Halo directly or through another business is refused with 403.

Documents cannot be sent again while earlier ones are still under review. Check progress with the KYC status endpoint.

Authentication

AuthorizationBearer

Your Halo partner API key, sent as Authorization: Bearer <key>.

Request

This endpoint expects an object.
emailstringOptional

The customer email. Required when account_number is not sent.

account_numberstringOptional
An account number your business opened. Required when email is not sent.
id_identity_typestringOptional
The type of ID document in the images, passed to the verification provider.
id_front_pagestringOptional

Front of the ID. A JPEG or PNG image as a base64 data URI, for example data:image/jpeg;base64,....

id_back_pagestringOptional

Back of the ID. A JPEG or PNG image as a base64 data URI, for example data:image/jpeg;base64,....

proof_of_residencystringOptional

Proof of address. A JPEG or PNG image as a base64 data URI, for example data:image/jpeg;base64,....

Response

The documents were sent for verification.
statusboolean
True on success, false otherwise.
messagestring or map from strings to lists of strings
A short message. On a 422 validation failure it is an object of field names to error lists.
status_codeinteger
The HTTP status code.
dataanyOptional
The result. Left out on most errors.

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error
422
Unprocessable Entity Error
429
Too Many Requests Error