Skip to main content
Create a Customer
Before you can initiate any transfer, you must create a customer record in SpherePay. This endpoint registers either an individual or a business customer and returns a customer object with a unique ID and a verificationProfiles array that tracks KYC/KYB completion status. You must specify type upfront — it cannot be changed after creation. Individual customers resident in the EEA+ region and EEA+ incorporated businesses have additional fields that must be present before verification. Those fields are optional at creation. See EEA+ residents and EEA+ businesses.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
email
string<email>
required

The customer email address

Maximum string length: 254
Example:

"jane.smith@example.com"

phone
string
required

The customer phone number in E.164 format

Pattern: ^\+(?:[0-9]){6,14}[0-9]$
Example:

"+14155550123"

type
enum<string>
required
Available options:
individual
address
object

The customer's address. Deprecated — prefer addresses.

addresses
object[]

The customer's addresses. Individual customers support exactly one residential address. Provide either this field or the deprecated address field, not both.

Example:
dateOfBirth
string

The date string in YYYY-MM-DD format

Example:

"2026-01-01"

enabledVerificationProfiles
enum<string>[]

Restricts which verification profile families this customer may onboard through. Must be a subset of the families enabled on your application; supplying one that is not enabled is rejected with a 422. Omit the field to inherit the application's setting.

Minimum array length: 1
Available options:
a,
b,
c,
d
Example:
firstName
string

The customer's legal first name.

Required string length: 1 - 100
Example:

"Jane"

ipAddress
string

The IP address the customer used to sign up. Required by some verification providers.

Example:

"203.0.113.4"

lastName
string

The customer's legal last name.

Required string length: 1 - 100
Example:

"Smith"

meta
object

Additional metadata associated with the customer

middleName
string

The customer's legal middle name.

Required string length: 1 - 100
Example:

"Anne"

personalExpectedActivity
Personal Expected Activity · object

The individual customer's expected transaction activity. Only accepted on individual customers.

personalInformation
object

Personal information including tax identification details for individual customers. When any tax identification field is provided, all tax identification fields (number, type, country) and address are required. Please refer to the Individual Verification Criteria for the full list of reference.

Response

Response containing information about an individual customer.

createdAt
string
required

ISO 8601 formatted customer creation timestamp

Example:

"2026-03-09T20:46:31.305Z"

enabledVerificationProfiles
enum<string>[] | null
required

Which verification profile families this customer may onboard through. Set explicitly at creation — from the request when supplied, otherwise a snapshot of the application's families at that moment — and thereafter changed only by an explicit update, so it does not follow later changes to the application. Always a subset of the application's families. Distinct from verificationProfiles, which reports the evaluated profiles and their statuses.

Available options:
a,
b,
c,
d
Example:
id
string
required

Customer ID

Example:

"customer_f31121c389624d3697cbf3ea8830b7a4"

tosStatus
enum<string>
required

Customer Terms of Service acceptance status (incomplete | pending | approved).

Available options:
incomplete,
pending,
approved
Example:

"incomplete"

type
enum<string>
required

Customer type

Available options:
individual
Example:

"individual"

updatedAt
string
required

ISO 8601 formatted customer update timestamp

Example:

"2026-03-09T20:46:31.305Z"

verificationProfiles
object[]
required

The evaluated verification profiles for this customer and their statuses — what the customer is being assessed against right now, as opposed to enabledVerificationProfiles, which says which families they are permitted to use. Array of verification profiles. For individual customers, this will include kyc_profile_a. For business customers, this will include kyb_profile_a. See KYC Flow for individuals or KYB Flow for businesses. See Verification Profile for individual status definitions and criteria breakdown or Verification Profile for business status definitions and criteria breakdown.

Example:
dateOfBirth
string

The customer's date of birth in YYYY-MM-DD format (individual customers only).

Example:

"1990-01-15"

email
string

Customer email address

Example:

"jane.smith@example.com"

firstName
string

Customer first name (individual customers only)

Example:

"Jane"

lastName
string

Customer last name (individual customers only)

Example:

"Smith"

meta
object
personalInformation
object

Personal information for an individual customer, echoed back from the most recent submission. The tax identification number is omitted from responses for privacy.

phone
string

Customer phone number

Example:

"+14155550123"

statusDetails
object

Additional context on why the customer's verification reached its current status.

Example:
Last modified on August 24, 2026