Upload a KYC document for a user. `fileContent` must be base64 encoded. **Formats and size** - Accepted MIME types: `image/jpeg`, `image/jpg`, `image/png`, `application/pdf`. - Max 20MB decoded per file. - The card provider caps document uploads at **2MB**. JPEG and PNG images above that are recompressed automatically, so you do not need to resize them; a PDF cannot be recompressed, so **send identity documents as JPG or PNG** if they exceed 2MB. **Document types** `passport`, `id_card`, `driving_licence`, `residence_permit` count as identity documents; `selfie_with_document` and `proof_of_address` are separate. `POST /v1/users/{id}/kyc/submit` requires at least one identity document **plus** a `selfie_with_document`. **Two-sided documents** For an ID with a front and a back, include `back` (or `rear` / `reverse`) as a word in the file name of the reverse side, e.g. `id-card-back.jpg`. That is how the sides are routed to the provider; without the hint the upload order decides, and swapped sides are rejected. Within each slot the newest non-rejected upload wins, so a re-upload replaces an earlier scan.

Parameters

NameInTypeRequiredDescription
id path string yes User identifier.

Request body

application/json · KYCDocumentUploadRequest · required

FieldTypeRequiredDescription
documentType KYCDocumentType yes
fileContent string (byte) yes Base64-encoded file content. Max 20MB decoded. Images above the provider's 2MB cap are recompressed automatically; PDFs are not.
fileName string yes Original file name. For the reverse side of a two-sided document include "back" (or "rear"/"reverse") as a word, e.g. "id-card-back.jpg".
mimeType string yes MIME type of the file.

Responses

StatusBodyDescription
201 KYCDocumentResponse Document uploaded.
400 Error Invalid request (file too large, invalid type, etc.).

Specification

This page is generated from the OpenAPI specification, which remains the authoritative machine-readable source.