Customers

Add a new customer

Changed on

Register a new customer in the system with an account identifier and bank account information

post/customers

Request

  • Base URL: https://api.lightspark.com/grid/2025-10-13
  • URL: https://api.lightspark.com/grid/2025-10-13/customers
  • Auth: HTTP basic

Request body

OR

Example request

{
  "platformCustomerId": "9f84e0c2a72c4fa",
  "customerType": "INDIVIDUAL",
  "region": "US",
  "currencies": [
    "USD",
    "USDC"
  ],
  "email": "john.doe@example.com",
  "phoneNumber": "+14155551234",
  "umaAddress": "$john.doe@uma.domain.com",
  "endUserTermsConsent": {
    "ipAddress": "198.51.100.24",
    "termsVersion": "V1",
    "acceptanceMethod": "CHECKBOX"
  },
  "agreementConsents": [
    {
      "type": "LIGHTSPARK_END_USER_TERMS",
      "ipAddress": "198.51.100.24",
      "termsVersion": "2025-10-13",
      "acceptanceMethod": "CHECKBOX"
    }
  ],
  "kycStatus": "APPROVED",
  "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"
  },
  "idType": "SSN",
  "identifier": "123-45-6789",
  "countryOfIssuance": "US",
  "sourceOfFundsCategories": [
    "SALARY"
  ],
  "sourceOfFundsOtherDescription": "Contest winnings",
  "sourceOfWealthCategories": [
    "SALARY",
    "INVESTMENTS"
  ],
  "sourceOfWealthOtherDescription": "Royalty income from published works",
  "purposeOfAccount": "CONTRACTOR_PAYOUTS",
  "purposeOfAccountOtherDescription": "Household budgeting between spouses",
  "expectedMonthlyTransactionCount": "COUNT_100_TO_500",
  "expectedMonthlyTransactionVolume": "VOLUME_100K_TO_1M",
  "annualIncomeRange": "RANGE_100K_250K",
  "netWorthRange": "RANGE_500K_1M",
  "pepStatus": "NONE"
}

Response

Customer created successfully

OR

Example response

{
  "id": "Customer:019542f5-b3e7-1d02-0000-000000000001",
  "platformCustomerId": "9f84e0c2a72c4fa",
  "customerType": "INDIVIDUAL",
  "endUserTermsConsent": {
    "ipAddress": "198.51.100.24",
    "termsVersion": "V1",
    "acceptanceMethod": "CHECKBOX"
  },
  "agreementConsents": [
    {
      "type": "LIGHTSPARK_END_USER_TERMS",
      "ipAddress": "198.51.100.24",
      "termsVersion": "2025-10-13",
      "acceptanceMethod": "CHECKBOX"
    }
  ],
  "region": "US",
  "currencies": [
    "USD",
    "USDC"
  ],
  "email": "john.doe@example.com",
  "phoneNumber": "+14155551234",
  "umaAddress": "$john.doe@uma.domain.com",
  "createdAt": "2025-07-21T17:32:28Z",
  "updatedAt": "2025-07-21T17:32:28Z",
  "contactVerification": {
    "email": "VERIFIED",
    "phone": "VERIFIED"
  },
  "kycStatus": "APPROVED",
  "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"
  },
  "idType": "SSN",
  "identifier": "123-45-6789",
  "countryOfIssuance": "US",
  "sourceOfFundsCategories": [
    "SALARY"
  ],
  "sourceOfFundsOtherDescription": "Contest winnings",
  "sourceOfWealthCategories": [
    "SALARY",
    "INVESTMENTS"
  ],
  "sourceOfWealthOtherDescription": "Royalty income from published works",
  "purposeOfAccount": "CONTRACTOR_PAYOUTS",
  "purposeOfAccountOtherDescription": "Household budgeting between spouses",
  "expectedMonthlyTransactionCount": "COUNT_100_TO_500",
  "expectedMonthlyTransactionVolume": "VOLUME_100K_TO_1M",
  "annualIncomeRange": "RANGE_100K_250K",
  "netWorthRange": "RANGE_500K_1M",
  "pepStatus": "NONE"
}

Changes

    • breaking

      added to the ///// request property allOf list

    • breaking

      added to the ///// request property allOf list

    • breaking

      the ///// request property type changed from object to no type

    • breaking

      the ///// request property type changed from object to no type

    • warning

      removed the request property //////

    • warning

      removed the request property //////

    • warning

      removed the request property //////

    • warning

      removed the request property //////

    • warning

      removed the request property //////

    • warning

      removed the request property //////

    • warning

      removed the request property //////

    • warning

      removed the request property //////

    • info

      added the new optional request property /////

    • info

      added the new optional request property /////

    • info

      request property ///// deprecated

    • info

      request property ///// deprecated

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      the response optional property ///// became read-only for the status

    • info

      the response optional property ///// became read-only for the status

    • info

      added to the ///// response property allOf list for the response status

    • info

      added to the ///// response property allOf list for the response status

    • info

      removed from the ///// response property allOf list for the response status

    • info

      removed from the ///// response property allOf list for the response status

    • info

      response property oneOf[subschema #1: Individual Customer]/allOf[Customer]/endUserTermsConsent deprecated

    • info

      response property oneOf[subschema #2: Business Customer]/allOf[Customer]/endUserTermsConsent deprecated

    • breaking

      the ///////// request property's minItems was increased to 1

    • breaking

      the ///////// request property's minItems was increased to 1

    • warning

      the ///// request property's maxLength was set to 255

    • warning

      the ////// request property's maxLength was set to 64

    • warning

      the ///////// request property's maxLength was set to 500

    • warning

      the ///////// request property's maxLength was set to 500

    • warning

      the ///////// request property's maxLength was set to 500

    • warning

      the ////// request property's maxLength was set to 250

    • warning

      the ////// request property's maxLength was set to 100

    • warning

      the ////// request property's maxLength was set to 250

    • warning

      the ////// request property's maxLength was set to 250

    • warning

      the ////// request property's maxLength was set to 100

    • warning

      the ////// request property's maxLength was set to 500

    • warning

      the ////// request property's maxLength was set to 100

    • warning

      the ///// request property's maxLength was set to 255

    • warning

      the ////// request property's maxLength was set to 64

    • warning

      the /// request property's maxLength was set to 250

    • warning

      the /// request property's maxLength was set to 250

    • warning

      the /// request property's maxLength was set to 100

    • warning

      the /// request property's maxLength was set to 500

    • warning

      the /// request property's maxLength was set to 100