Upload document

Upload a customer document for KYC or KYB verification. This is the first step of the server-to-server verification flow.

Documents are uploaded as base64-encoded strings along with metadata about the document type,
customer information, and document details. The document is validated and stored in preparation
for verification.

Supported document types

The metadata.idDocType field accepts the following values (lowercase):

  • Individual customers: passport, id_card, drivers_license, selfie,
    residence_permit, utility_bill, bank_card,
    vehicle_registration_certificate, other

  • Business customers: registration_certificate, company_doc,
    formation_document, ownership_document, proof_of_address,
    proof_of_address_document

Selfie documents must be an image (JPEG or PNG); PDF selfies are rejected.

Document subtypes

The supported document subtypes are as follows (case-sensitive, uppercase):

  • FRONT_SIDE: Front side of document
  • BACK_SIDE: Back side of document (if applicable)

File format

The filename extension and the decoded content MIME type must agree and must be one of: image/jpeg, image/png, application/pdf.

Size limits

The maximum decoded document size is 10 MB. The base64-encoded payload sent in content may be up to roughly 13.3 MB. Larger payloads are rejected at the ingress layer with a 413 before reaching the service.

Idempotency

The Idempotency-Key header is required on this endpoint. Replays of the same key with the same payload return the original response; replays with a different payload return 422.

After uploading all required documents, call the Initiate KYC S2S
endpoint to start the verification process.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params
uuid
required

ID of the customer this document belongs to

string

Optional upstream applicant identifier. When omitted (server-to-server
flow) the service resolves the applicant from customer_id.

metadata
object
required
string
required

Base64-encoded document content. The decoded bytes must be a JPEG, PNG,
or PDF; the service sniffs the leading bytes and rejects other MIME
types. Maximum decoded size is 10 MB.

string
required
length ≤ 255
(?i)\.(jpe?g|png|pdf)$

Original filename of the document. Extension must be one of
.jpg, .jpeg, .png, .pdf (case-insensitive); the file extension
is validated before the content MIME sniff.

boolean
Defaults to false

Whether to return document quality warnings in the response

Headers
string
required
length between 1 and 255

Unique key to dedupe retries. Required on this endpoint; 1–255 ASCII
printable characters. Missing or malformed keys return 400.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json