Effortless customer verification now available   View changelog
Sphere Paysphere
Customer

Create a Customer

Create a new customer

POST
/v2/customer
AuthorizationBearer <token>

In: header

typestring
Value in"individual"
emailstring

The customer email address

Formatemail
Lengthlength <= 254
phonestring

The customer phone number in E.164 format

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

The customer's address.

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.

meta?object

Additional metadata associated with the customer

Empty Object

typestring

The customer type.

Value in"business"
emailstring

The business customer's email address.

Formatemail
Lengthlength <= 254
phonestring

The business customer's phone number in E.164 format.

Match^\+(?:[0-9]){6,14}[0-9]$
addressesarray<object>

The business customer's addresses which includes a registered address and an operating address.

businessInformationobject

Business information including identification number and all other relevant information to onboard the business customer.

meta?object

Additional metadata associated with the customer

Empty Object

Response Body

curl -X POST "https://api.spherepay.co/v2/customer" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "individual",
    "email": "user@example.com",
    "phone": "+1234567890",
    "address": {
      "line1": "123 Main Street",
      "city": "Chicago",
      "country": "USA"
    }
  }'
{
  "id": "customer_66c4168d418a410eae282b83883bdc39",
  "email": "user@example.com",
  "phone": "+1234567890",
  "firstName": "John",
  "lastName": "Doe",
  "businessLegalName": "John Doe Pte Ltd.",
  "businessTradeName": "John Doe Brand",
  "verificationProfiles": [
    {
      "name": "kyc_profile_a",
      "status": "incomplete",
      "criteria": {
        "complete": [
          "email_address",
          "phone_number",
          "residential_address",
          "tax_identification_number"
        ],
        "pending": [],
        "required": [
          "terms_of_service",
          "email_verification",
          "phone_verification",
          "identity_document",
          "liveness_check",
          "identity_verification",
          "kyc_a_approval"
        ],
        "errors": []
      }
    }
  ],
  "meta": {
    "property1": null,
    "property2": null
  },
  "createdAt": "2025-11-21T07:10:54.598Z",
  "updatedAt": "2025-11-21T07:10:54.598Z",
  "type": "individual"
}

{
  "status": 400,
  "detail": "Invalid request parameters",
  "code": "address/invalid",
  "correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}

{
  "status": 404,
  "detail": "Resource not found",
  "code": "resource/not-found",
  "correlationId": "28c61e885c6e5eaa78c1a2183a9b883c"
}

{
  "status": 422,
  "detail": "Validation failed",
  "code": "validation/failed",
  "correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
  "errors": [
    {
      "detail": "Invalid email format",
      "pointer": "/email"
    },
    {
      "detail": "Name is required",
      "pointer": "/name"
    }
  ]
}