Onboard an individual client and drive a product enablement request from creation to KYC.
This guide walks through the full flow to onboard an individual client and enable a product for them. The model is requirement-driven: when you request a product, the API tells you exactly which data and documents are still missing. You fulfill those requirements, then submit the request for review.All calls use the Management API and require an API key in the x-api-key header.
Create the client with at least the required fields: first_name, last_name, email, birth_date and address. Other fields (such as the phone number) are optional here but may become required later, depending on the product you request.
Request the product enablement for the client. The response comes back as pending_documentation and carries a missing_requirements object describing what’s needed to enable it.
Satisfy each entry in missing_requirements.data with Update individual client. For example, if phone is missing, send the phone number.
Update is a full replacement: it re-validates the required fields (first_name, last_name, email, birth_date, address). Send the complete client payload plus the new fields, not just the field you’re adding.
Satisfy each entry in missing_requirements.documents with Complete product documentation. This endpoint takes one document per call — if several documents are missing, call it once for each.Use the document_type listed under the requirement’s valid_documents, attach the base64-encoded image(s), and include any required metadata fields.
The response returns the updated missing_requirements and a rejected_items array. If a document is rejected, fix the issue noted in its reason and upload it again.
After Steps 3 and 4, re-check missing_requirements (in the response or via List client products). Repeat until both data and documents are empty.
Once nothing is left missing, submit the request. This re-evaluates it and, when complete, advances it to in_kyc and notifies the provider to start the compliance review.
cURL
curl -X POST "https://api.cryptomate.me/management/clients/individuals/{clientId}/products/{productRequestId}/submit" \ -H "x-api-key: $CRYPTOMATE_API_KEY"
If requirements are still pending, the response reports them instead of advancing — go back to Step 3 or 4 and resolve them first. See Submit product enablement request.