Skip to main content
POST
/
customers
curl --request POST \
--url https://api.lightspark.com/grid/2025-10-13/customers \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '{
"umaAddress": "$jane.doe@uma.domain.com",
"platformCustomerId": "7b3c5a89d2f1e0",
"customerType": "INDIVIDUAL",
"fullName": "Jane Doe",
"birthDate": "1992-03-25",
"address": {
"line1": "123 Pine Street",
"line2": "Unit 501",
"city": "Seattle",
"state": "WA",
"postalCode": "98101",
"country": "US"
}
}'
{
  "id": "Customer:019542f5-b3e7-1d02-0000-000000000001",
  "platformCustomerId": "9f84e0c2a72c4fa",
  "customerType": "INDIVIDUAL",
  "kycStatus": "APPROVED",
  "umaAddress": "$john.doe@uma.domain.com",
  "createdAt": "2025-07-21T17:32:28Z",
  "updatedAt": "2025-07-21T17:32:28Z",
  "isDeleted": false,
  "fullName": "John Michael Doe",
  "birthDate": "1990-01-15",
  "nationality": "US",
  "address": {
    "line1": "123 Main Street",
    "line2": "Apt 4B",
    "city": "San Francisco",
    "state": "CA",
    "postalCode": "94105",
    "country": "US"
  }
}

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Body

application/json
  • New Individual Customer
  • New Business Customer
customerType
enum<string>
required

Customer type

Available options:
INDIVIDUAL
platformCustomerId
string
required

Platform-specific customer identifier

Example:

"9f84e0c2a72c4fa"

fullName
string

Individual's full name

Example:

"John Michael Doe"

birthDate
string<date>

Date of birth in ISO 8601 format (YYYY-MM-DD)

Example:

"1990-01-15"

nationality
string

Country code (ISO 3166-1 alpha-2)

Example:

"US"

address
object
umaAddress
string

Optional UMA address identifier. If not provided during customer creation, one will be generated by the system. If provided during customer update, the UMA address will be updated to the provided value. This is an optional identifier to route payments to the customer.

Example:

"$john.doe@uma.domain.com"

kycUrl
string

A KYC URL to be shared with your individual customer if KYC needs to be completed

Example:

"https://example.com/kyc"

Response

Customer created successfully

  • Individual Customer
  • Business Customer
platformCustomerId
string
required

Platform-specific customer identifier

Example:

"9f84e0c2a72c4fa"

customerType
enum<string>
required

Whether the customer is an individual or a business entity

Available options:
INDIVIDUAL,
BUSINESS
Example:

"INDIVIDUAL"

umaAddress
string
required

Full UMA address (always present in responses, even if system-generated). This is an optional identifier to route payments to the customer.

Example:

"$john.doe@uma.domain.com"

id
string

System-generated unique identifier

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

kycStatus
enum<string>

The current KYC status of a customer

Available options:
APPROVED,
REJECTED,
PENDING_REVIEW,
EXPIRED,
CANCELED,
MANUALLY_APPROVED,
MANUALLY_REJECTED
Example:

"APPROVED"

createdAt
string<date-time>

Creation timestamp

Example:

"2025-07-21T17:32:28Z"

updatedAt
string<date-time>

Last update timestamp

Example:

"2025-07-21T17:32:28Z"

isDeleted
boolean

Whether the customer is marked as deleted

Example:

false

fullName
string

Individual's full name

Example:

"John Michael Doe"

birthDate
string<date>

Date of birth in ISO 8601 format (YYYY-MM-DD)

Example:

"1990-01-15"

nationality
string

Country code (ISO 3166-1 alpha-2)

Example:

"US"

address
object