Saltar al contenido principal
Get a customer by ID
curl --request GET \
  --url https://api.spherepay.co/v2/customer/{id} \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://api.spherepay.co/v2/customer/{id}"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.spherepay.co/v2/customer/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.spherepay.co/v2/customer/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.spherepay.co/v2/customer/{id}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.spherepay.co/v2/customer/{id}")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.spherepay.co/v2/customer/{id}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "id": "customer_f31121c389624d3697cbf3ea8830b7a4",
  "verificationProfiles": [
    {
      "name": "kyc_profile_a",
      "status": "incomplete",
      "criteria": {
        "complete": [
          "email_address",
          "phone_number",
          "residential_address",
          "tax_identification_number"
        ],
        "pending": [],
        "required": [
          "identity_document",
          "liveness_report_document"
        ],
        "errors": []
      }
    }
  ],
  "tosStatus": "incomplete",
  "createdAt": "2026-03-09T20:46:31.305Z",
  "updatedAt": "2026-03-09T20:46:31.305Z",
  "type": "individual",
  "email": "jane.smith@example.com",
  "phone": "+14155550123",
  "meta": {},
  "firstName": "Jane",
  "lastName": "Smith",
  "dateOfBirth": "1990-01-15",
  "personalInformation": {
    "taxIdentificationNumberType": "ssn",
    "taxIdentificationNumberCountry": "USA",
    "taxIdentificationNumberDescription": "<string>",
    "gender": "male",
    "countryOfBirth": "USA",
    "nationality": "USA",
    "middleName": "James",
    "occupationSocCode": "15-1132",
    "residencyCountry": "USA",
    "sourceOfFunds": "salary"
  }
}
{
"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"
}
]
}
Usa este endpoint para obtener los detalles completos de un cliente único por su ID único. La respuesta incluye el estado actual del perfil de verificación del cliente, que te indica exactamente qué criterios de KYC/KYB quedan pendientes antes de que el cliente pueda iniciar una transferencia. También puedes inspeccionar cuentas bancarias y billeteras adjuntas a través de este registro.

Autorizaciones

Authorization
string
header
requerido

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

Parámetros de ruta

id
string
requerido

Customer ID

Ejemplo:

"customer_f31121c389624d3697cbf3ea8830b7a4"

Respuesta

Response containing information about an individual customer.

id
string
requerido

Customer ID

Ejemplo:

"customer_f31121c389624d3697cbf3ea8830b7a4"

verificationProfiles
object[]
requerido

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.

Ejemplo:
[
{
"name": "kyc_profile_a",
"status": "incomplete",
"criteria": {
"complete": [
"email_address",
"phone_number",
"residential_address",
"tax_identification_number"
],
"pending": [],
"required": [
"identity_document",
"liveness_report_document"
],
"errors": []
}
}
]
tosStatus
enum<string>
requerido

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

Opciones disponibles:
incomplete,
pending,
approved
Ejemplo:

"incomplete"

createdAt
string
requerido

ISO 8601 formatted customer creation timestamp

Ejemplo:

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

updatedAt
string
requerido

ISO 8601 formatted customer update timestamp

Ejemplo:

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

type
enum<string>
requerido

Customer type

Opciones disponibles:
individual
Ejemplo:

"individual"

email
string

Customer email address

Ejemplo:

"jane.smith@example.com"

phone
string

Customer phone number

Ejemplo:

"+14155550123"

meta
object
firstName
string

Customer first name (individual customers only)

Ejemplo:

"Jane"

lastName
string

Customer last name (individual customers only)

Ejemplo:

"Smith"

dateOfBirth
string

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

Ejemplo:

"1990-01-15"

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.

Última modificación el 22 de junio de 2026