If you don’t want to build the verification flow via API, you can share the
verification.link returned in the customer response directly with your customer. The link opens a guided flow where they can submit all required information and documents without any additional API integration.Prerequisites
- An individual customer already created (see Create a Customer)
- An API key from the Dashboard
- Your environment base URL (see Environments)
Verification flow
Accept terms of service
Before starting verification, the customer must accept the terms of service. Send a Share the returned URL with your customer. The link expires after 24 hours — generate a new one if needed. The
POST request to /customers/{id}/tos to get the acceptance URL. You can optionally include a redirectUrl to redirect the customer after they accept.Request
Response
requirements array will show TERMS_OF_SERVICE as NOT_SENT until they accept. You can check the status by reading the customer.The request body is optional. If you don’t need to redirect the customer after acceptance, you can send the request without a body.
Send additional information
Send a All fields are required unless noted otherwise. Here’s a summary of the key fields:
For all accepted values, see the API Reference.
PATCH request to /customers/{id}/additional-information with the customer’s personal and transactional information. This must be done before uploading documents.Request
| Field | Description |
|---|---|
phone | Phone number in international format |
firstName, lastName | Customer’s name split into parts |
middleName | Customer’s middle name (optional) |
address | Full address with country, line1, city, state, postalCode |
monthlyVolumeInUSD | Expected monthly transaction volume in USD |
transactionVolumeInUSD | Expected volume per transaction in USD |
jurisdictions | Regions where transactions will occur (e.g., BRA, USA, EU) |
involvedActivities | Activities involved (e.g., NONE, GAMBLING) |
transactionCounterparties | Who the customer transacts with (e.g., SELF, MERCHANTS_SUPPLIERS) |
professionalSituation | One of: EMPLOYEE, SELF_EMPLOYED, UNEMPLOYED, RETIRED, OTHER |
professionalOccupation | Free-text description of occupation |
sourceOfFunds | Origin of funds (e.g., EMPLOYMENT, SAVINGS, COMPANY) |
Upload documents
Upload the required documents using Files must be JPG, PNG, or PDF with a maximum size of 50MB.
POST /customers/{id}/documents. Each document is sent as a multipart/form-data request.Required documents:- One identity document:
ID_CARD,PASSPORT, orDRIVERS_LICENSE BANK_STATEMENT(must be from the last 6 months)PROOF_OF_ADDRESS(must be from the last 90 days)
INCOME_TAX_RETURN(must be from the last calendar year)DELIVERY_RECEIPT(must be from the last calendar year)OTHER(any additional document)
Identity documents (
ID_CARD and DRIVERS_LICENSE) require the side field. Upload the front and back as separate requests. For the digital Brazilian driver’s license (CNH digital), the side field is not needed.Upload identity document (front)
Upload identity document (back)
Upload bank statement
Complete liveness check
The customer must complete a liveness check by accessing the
verification.link returned in the customer response. This link opens a guided selfie flow.You can retrieve the link at any time by reading the customer:For individual customers, verification starts automatically after the liveness check is completed. You do not need to call a separate endpoint to start verification.
Monitor verification status
Check the verification status by reading the customer’s verification:
You can also receive status updates via webhooks instead of polling.
Request
Response
| Status | Description |
|---|---|
NOT_STARTED | Customer created but verification not yet initiated |
UNDER_VERIFICATION | Documents submitted and being reviewed |
APPROVED | Verification complete — customer can transact |
TEMPORARY_REJECTION | Additional documentation required |
FINAL_REJECTION | Customer permanently rejected |
Handling rejections
When a customer receivesTEMPORARY_REJECTION, the verification response includes details about what needs to be corrected:
Review timeline
Standard KYC verification is typically reviewed within 1 business day. See Identity Verification for full details.Related resources
Webhooks
Receive real-time status updates.
Transaction Limits
Understand post-verification limits.
Identity Verification
Full compliance requirements.