Customer
Create a Customer
Creates a new customer.
AuthorizationBearer <token>
JWT Bearer token authentication
In: header
typestring
The type of customer that can be onboarded. Acceptable inputs are individual
and business
.
Value in
"individual" | "business"
email?string
The email of the customer.
Format
"email"
phone?string
The phone number of the customer.
Pattern
"^+[0-9]{1,3}[0-9]+$"
Format
"phone"
addressobject
The customer's address.
Response Body
curl -X POST "https://api.sandbox.spherepay.co/v2/customer" \
-H "Content-Type: application/json" \
-d '{
"type": "individual",
"email": "johndoe@example.com",
"phone": "+1234567890",
"address": {
"line1": "123 Main St",
"line2": "Apt 1",
"city": "Anytown",
"state": "CA",
"postalCode": "12345",
"country": "USA"
},
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"taxIdentificationNumber": "1234567890",
"taxIdentificationNumberType": "ssn"
}
}'
const body = JSON.stringify({
"type": "individual",
"email": "johndoe@example.com",
"phone": "+1234567890",
"address": {
"line1": "123 Main St",
"line2": "Apt 1",
"city": "Anytown",
"state": "CA",
"postalCode": "12345",
"country": "USA"
},
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"taxIdentificationNumber": "1234567890",
"taxIdentificationNumberType": "ssn"
}
})
fetch("https://api.sandbox.spherepay.co/v2/customer", {
body
})
package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://api.sandbox.spherepay.co/v2/customer"
body := strings.NewReader(`{
"type": "individual",
"email": "johndoe@example.com",
"phone": "+1234567890",
"address": {
"line1": "123 Main St",
"line2": "Apt 1",
"city": "Anytown",
"state": "CA",
"postalCode": "12345",
"country": "USA"
},
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"taxIdentificationNumber": "1234567890",
"taxIdentificationNumberType": "ssn"
}
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import requests
url = "https://api.sandbox.spherepay.co/v2/customer"
body = {
"type": "individual",
"email": "johndoe@example.com",
"phone": "+1234567890",
"address": {
"line1": "123 Main St",
"line2": "Apt 1",
"city": "Anytown",
"state": "CA",
"postalCode": "12345",
"country": "USA"
},
"personalInformation": {
"firstName": "John",
"lastName": "Doe",
"taxIdentificationNumber": "1234567890",
"taxIdentificationNumberType": "ssn"
}
}
response = requests.request("POST", url, json = body, headers = {
"Content-Type": "application/json"
})
print(response.text)
{
"id": "customer_d41608fae4d34d308f85bc3c2b6ca29a",
"type": "individual",
"verificationProfiles": [
{
"name": "kyc_profile_a",
"status": "incomplete",
"criteria": {
"complete": [],
"pending": [
"residential_address"
],
"required": [
"terms_of_service",
"email_address",
"first_name",
"last_name",
"date_of_birth",
"photo_id",
"identification_document"
],
"errors": []
}
},
{
"name": "kyc_profile_b",
"status": "incomplete",
"criteria": {
"complete": [],
"pending": [
"residential_address"
],
"required": [
"terms_of_service",
"email_address",
"first_name",
"last_name",
"date_of_birth",
"photo_id",
"identification_document",
"proof_of_address"
],
"errors": []
}
}
]
}
{
"ts": "2025-04-20T00:09:16.870Z",
"error": {
"information": [
"Required"
]
}
}