externalId as the stable mapping to the corresponding record in your system.
Environment variables
Individual customers
An individual requires onlytype. Include profile fields you already know, and add more only when the current capability or task needs them.
Create the customer with POST /v3/customers:
Create individual customer
data.id as CUSTOMER_ID. See Individual onboarding for policy context.
Business customers
A business requiresbusiness.legalName. Create the business with the same operation:
Create business customer
data.id as CUSTOMER_ID. See Business onboarding for policy and document context.
Add business related parties
Add directors, owners, and other business participants when they are known or requested. This example creates a director withPOST /v3/customers/{customerId}/related-parties:
Add related party
data.id as RELATED_PARTY_ID.
If you need to export a customer, use POST /v3/customers/{customerId}/export and follow its request schema. The json_basic_data format returns the current public v3 customer resource as a JSON attachment; each call recomputes current data and excludes documents and document metadata.
For a portability-token format, send the receiving KYC project’s client ID as forClientId, not the Swipelux customerId. Use the returned data.token before data.expiresAt. Reusing the same Idempotency-Key and body replays that token result; use a new key to issue another token.
Read readiness from capabilities
A customer does not have a verification or readiness status in the API. Read the customer withGET /v3/customers/{customerId} for current profile data, then use capabilities and their openTaskIds to decide what the customer can do next.
Get customer
Find customers with outstanding documents
To find which customers on a page still owe mandatory documents, passinclude=documentRequirements to GET /v3/customers. You can combine it with capability summaries as include=capabilities,documentRequirements. API keys need accounts:read for the documentRequirements expansion.
Each customer summary then includes a documentRequirements object:
Document requirement summary
countis the number of mandatory document requirements inaction_requiredon tasks that are also inaction_required. It covers every task scope, including account-wide tasks, and does not depend on capability readiness.requiredistruewhencountis greater than0.- A set of alternatives counts once, and only when every alternative requires a document.
required: false does not prove that no document task applies. Use it to prioritize customers, then read their tasks for the authoritative list of what to collect. Without the expansion, the response omits documentRequirements.
Read customer transfer volume
To show how much money a customer has moved, callGET /v3/customers/{customerId}/transfer-totals. API keys need customers:read. An unknown customer returns 404 customer_not_found.
Transfer totals
- Only completed transfers count. Pending and failed transfers are excluded.
receivedsums pay-ins and inbound wallet transfers from other customers.sentsums payouts and outbound wallet transfers.- USD, USDC, and USDT count 1:1 as USD. Amounts in other currencies are excluded.
- Transfers between the customer’s own wallets are excluded.
- Each
amountis a decimal string with two places, and"0.00"when no transfers qualify.