Prerequisites

Before starting the onboarding process, ensure you have:
  • API credentials (Get your API key)
  • Customer’s personal information
  • Required documents in digital format (PDF, PNG, or JPEG)

Process overview

1

Create Customer Profile

Add the customer’s basic information
2

Upload Documents

Submit identity and proof of address documents
3

Start Verification

Initiate the KYC verification process
4

Monitor Status

Check verification progress and handle any issues

Step 1: Create an Individual Customer

Start by creating an individual customer profile with their basic information.
Request
curl -X POST https://api.lumx.io/customers \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "INDIVIDUAL",
    "name": "John Doe",
    "taxId": "123.456.789-00",
    "birthDate": "1990-01-01",
    "country": "BRA",
    "email": "john.doe@example.com"
  }'

Required Fields

FieldTypeDescriptionExample
typestringMust be "INDIVIDUAL""INDIVIDUAL"
namestringCustomer’s full legal name"John Doe"
taxIdstringValid tax ID for the country"123.456.789-00" (CPF for Brazil)
birthDatestringDate of birth (YYYY-MM-DD)"1990-01-01"
countrystringISO 3166-1 alpha-3 country code"BRA"
emailstringValid email address"john.doe@example.com"
The response includes a customerId and a KYC link:
Response
{
	"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
	"type": "INDIVIDUAL",
	"name": "William Default",
	"taxId": "123.456.789-00",
	"birthDate": "1990-01-01",
	"country": "BRA",
	"email": "william.default@example.com",
	"walletAddress": "0x1234567890123456789012345678901234567890",
	"blockExplorerUrl": "https://amoy.polygonscan.com/address/0x1234567890123456789012345678901234567890",
	"verification": {
		"status": "NOT_STARTED",
		"level": "STANDARD"
		"link": "https://in.sumsub.com/websdk/p/sbx_aA00bB11cC33dD44",
	},
	"transactionLimits": {
		"single": "1000.00",
		"daily": "10000.00",
		"monthly": "100000.00"
	},
	"createdAt": "2021-01-01T00:00:00Z",
	"updatedAt": "2021-01-01T00:00:00Z"
}
You can either use the API endpoints or the link provided in the response above to proceed with the next steps.

Step 2: Upload Required Documents

Individual customers must provide identity verification and proof of address documents.

Document requirements

1. Identity Document (Choose one)
  • National ID Card (ID_CARD) - front and back
  • Driver’s License (DRIVERS_LICENSE) - front and back
  • Passport (PASSPORT) - single page
2. Proof of Address
  • Must be dated within the last 3 months
  • Shows full name and residential address

Upload Examples

curl -X POST https://api.lumx.io/customers/{customerId}/documents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@/path/to/passport.pdf" \
  -F 'metadata={
    "type": "PASSPORT",
    "country": "BRA"
  }'
File Requirements:
  • Formats: PDF, PNG, or JPEG
  • Maximum size: 50MB per document
  • Documents must be clearly legible and fully visible
  • Both physical (scanned) and digital documents are accepted

Step 3: Start KYC Verification

Once all documents are uploaded, initiate the KYC verification process:
Request
curl -X POST https://api.lumx.io/customers/{customerId}/verifications \
  -H "Authorization: Bearer YOUR_API_KEY"
Processing Time: Individual KYC verification is usually completed within minutes, though it may take longer during peak times.

Step 4: Monitor Verification Status

Check the verification progress and results:
Request
curl -X GET https://api.lumx.io/customers/{customerId}/verifications \
  -H "Authorization: Bearer YOUR_API_KEY"
Response
{
	"customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
	"status": "NOT_STARTED",
	"level": "STANDARD",
	"statusReason": {
		"rejectLabels": ["screenshot", "unsatisfactory_photos"],
		"documents": [
			{
				"type": "PASSPORT",
				"status": "TEMPORARY_REJECTION",
				"comment": "Screenshots aren't accepted. Please upload a live photo of the document.",
				"rejectLabels": ["screenshot", "unsatisfactory_photos"]
			},
			{
				"type": "PROOF_OF_ADDRESS",
				"status": "TEMPORARY_REJECTION"
			}
		]
	}
}

Verification Statuses

TypeDescription
NOT_STARTEDVerification hasn’t been initiated yet
UNDER_VERIFICATIONDocuments are being reviewed
APPROVEDCustomer is fully verified and ready to transact
TEMPORARY_REJECTIONDocuments need to be resubmitted
FINAL_REJECTIONCustomer was not approved

Next Steps

Learn how to onboard business customers or move to exchange rates.