Upload document

Upload a KYC document for individual and business customers. 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

Individual customers must upload a SELFIE and one identification document: PASSPORT, ID_CARD, or DRIVERS.

Business customers upload a single REGISTRATION_CERTIFICATE, which may be a formation document or an ownership document. The idDocType value is always REGISTRATION_CERTIFICATE.

All idDocType values are uppercase.

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

Document subtypes

Identification documents use idDocSubType to indicate which side is uploaded (case-sensitive, uppercase):

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

Omit idDocSubType for SELFIE uploads.

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.

Idempotency

The Idempotency-Key header is required on this endpoint. If you send the same key again with an identical request body, the API returns the original response instead of uploading the document a second time. If you send the same key with a different request body, then the API rejects the request with a 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

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.

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