Starknet: USDC On/OffRamp live.   Details →
Sphere Paysphere
Customer

Create a Customer

Creates a new customer.

POST
/v2/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"
    ]
  }
}