Introducing Starknet Network:   OffRamp and OnRamp USDC are now supported for Starknet network.  View changelog for details →.
Sphere Paysphere
Customer

Create Customer

POST
/v2/customer
AuthorizationBearer <token>

In: header

typestring

The type of customer that can be onboarded. Acceptable inputs are individual and business.

addressobject

The customer's address.

Response Body

curl -X POST "https://api.sandbox.spherepay.co/v2/customer" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "string",
    "address": {
      "state": "string",
      "country": "string"
    }
  }'
const body = JSON.stringify({
  "type": "string",
  "address": {
    "state": "string",
    "country": "string"
  }
})

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": "string",
    "address": {
      "state": "string",
      "country": "string"
    }
  }`)
  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": "string",
  "address": {
    "state": "string",
    "country": "string"
  }
}
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": {
    "address": [
      "Required"
    ]
  }
}