curl --request PATCH \
--url https://sandbox-api.polygon.technology/v0.13/customers/{customerId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"companyLegalName": "<string>",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"birthDate": "<string>",
"nationality": "<string>",
"ipAddress": "<string>",
"externalId": "<string>",
"signedAgreement": true,
"residentialAddress": {
"line1": "123 Main St",
"line2": "<string>",
"city": "Seattle",
"state": "WA",
"country": "US",
"zipCode": "98101"
},
"identifyingInformation": [
{
"type": "ssn",
"issuingCountry": "US",
"number": "123456789"
}
],
"endorsements": [],
"metadata": {},
"dbaName": "<string>",
"formationDate": "<string>",
"registrationCountry": "<string>",
"registrationNumber": "<string>",
"incorporationAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"physicalAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"websiteUrl": "<string>",
"businessDescription": "<string>",
"industry": "<string>",
"industryFinancialServicesSubtype": "<string>",
"industryCryptoSubtype": "<string>",
"industryOtherDescription": "<string>",
"sourceOfFundsOtherDescription": "<string>",
"accountPurposesOtherDescription": "<string>",
"primaryTargetMarketOtherDescription": "<string>",
"sourceOfFunds": [
"<string>"
],
"accountPurposes": [
"<string>"
],
"primaryTargetMarket": "<string>",
"expectedFiatMonthlyVolume": "<string>",
"expectedCryptoMonthlyVolume": "<string>",
"isMsb": true,
"disclosureAccepted": true,
"disclosureAcceptedAt": "2023-11-07T05:31:56Z",
"disclosureVersion": "<string>",
"disclosureIpAddress": "<string>",
"businessTaxId": "<string>"
}
'import requests
url = "https://sandbox-api.polygon.technology/v0.13/customers/{customerId}"
payload = {
"companyLegalName": "<string>",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"birthDate": "<string>",
"nationality": "<string>",
"ipAddress": "<string>",
"externalId": "<string>",
"signedAgreement": True,
"residentialAddress": {
"line1": "123 Main St",
"line2": "<string>",
"city": "Seattle",
"state": "WA",
"country": "US",
"zipCode": "98101"
},
"identifyingInformation": [
{
"type": "ssn",
"issuingCountry": "US",
"number": "123456789"
}
],
"endorsements": [],
"metadata": {},
"dbaName": "<string>",
"formationDate": "<string>",
"registrationCountry": "<string>",
"registrationNumber": "<string>",
"incorporationAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"physicalAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"websiteUrl": "<string>",
"businessDescription": "<string>",
"industry": "<string>",
"industryFinancialServicesSubtype": "<string>",
"industryCryptoSubtype": "<string>",
"industryOtherDescription": "<string>",
"sourceOfFundsOtherDescription": "<string>",
"accountPurposesOtherDescription": "<string>",
"primaryTargetMarketOtherDescription": "<string>",
"sourceOfFunds": ["<string>"],
"accountPurposes": ["<string>"],
"primaryTargetMarket": "<string>",
"expectedFiatMonthlyVolume": "<string>",
"expectedCryptoMonthlyVolume": "<string>",
"isMsb": True,
"disclosureAccepted": True,
"disclosureAcceptedAt": "2023-11-07T05:31:56Z",
"disclosureVersion": "<string>",
"disclosureIpAddress": "<string>",
"businessTaxId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyLegalName: '<string>',
firstName: '<string>',
middleName: '<string>',
lastName: '<string>',
email: '<string>',
phone: '<string>',
birthDate: '<string>',
nationality: '<string>',
ipAddress: '<string>',
externalId: '<string>',
signedAgreement: true,
residentialAddress: {
line1: '123 Main St',
line2: '<string>',
city: 'Seattle',
state: 'WA',
country: 'US',
zipCode: '98101'
},
identifyingInformation: [{type: 'ssn', issuingCountry: 'US', number: '123456789'}],
endorsements: [],
metadata: {},
dbaName: '<string>',
formationDate: '<string>',
registrationCountry: '<string>',
registrationNumber: '<string>',
incorporationAddress: {
line1: '<string>',
line2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>',
country: '<string>'
},
physicalAddress: {
line1: '<string>',
line2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>',
country: '<string>'
},
websiteUrl: '<string>',
businessDescription: '<string>',
industry: '<string>',
industryFinancialServicesSubtype: '<string>',
industryCryptoSubtype: '<string>',
industryOtherDescription: '<string>',
sourceOfFundsOtherDescription: '<string>',
accountPurposesOtherDescription: '<string>',
primaryTargetMarketOtherDescription: '<string>',
sourceOfFunds: ['<string>'],
accountPurposes: ['<string>'],
primaryTargetMarket: '<string>',
expectedFiatMonthlyVolume: '<string>',
expectedCryptoMonthlyVolume: '<string>',
isMsb: true,
disclosureAccepted: true,
disclosureAcceptedAt: '2023-11-07T05:31:56Z',
disclosureVersion: '<string>',
disclosureIpAddress: '<string>',
businessTaxId: '<string>'
})
};
fetch('https://sandbox-api.polygon.technology/v0.13/customers/{customerId}', 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://sandbox-api.polygon.technology/v0.13/customers/{customerId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'companyLegalName' => '<string>',
'firstName' => '<string>',
'middleName' => '<string>',
'lastName' => '<string>',
'email' => '<string>',
'phone' => '<string>',
'birthDate' => '<string>',
'nationality' => '<string>',
'ipAddress' => '<string>',
'externalId' => '<string>',
'signedAgreement' => true,
'residentialAddress' => [
'line1' => '123 Main St',
'line2' => '<string>',
'city' => 'Seattle',
'state' => 'WA',
'country' => 'US',
'zipCode' => '98101'
],
'identifyingInformation' => [
[
'type' => 'ssn',
'issuingCountry' => 'US',
'number' => '123456789'
]
],
'endorsements' => [
],
'metadata' => [
],
'dbaName' => '<string>',
'formationDate' => '<string>',
'registrationCountry' => '<string>',
'registrationNumber' => '<string>',
'incorporationAddress' => [
'line1' => '<string>',
'line2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>',
'country' => '<string>'
],
'physicalAddress' => [
'line1' => '<string>',
'line2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>',
'country' => '<string>'
],
'websiteUrl' => '<string>',
'businessDescription' => '<string>',
'industry' => '<string>',
'industryFinancialServicesSubtype' => '<string>',
'industryCryptoSubtype' => '<string>',
'industryOtherDescription' => '<string>',
'sourceOfFundsOtherDescription' => '<string>',
'accountPurposesOtherDescription' => '<string>',
'primaryTargetMarketOtherDescription' => '<string>',
'sourceOfFunds' => [
'<string>'
],
'accountPurposes' => [
'<string>'
],
'primaryTargetMarket' => '<string>',
'expectedFiatMonthlyVolume' => '<string>',
'expectedCryptoMonthlyVolume' => '<string>',
'isMsb' => true,
'disclosureAccepted' => true,
'disclosureAcceptedAt' => '2023-11-07T05:31:56Z',
'disclosureVersion' => '<string>',
'disclosureIpAddress' => '<string>',
'businessTaxId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.polygon.technology/v0.13/customers/{customerId}"
payload := strings.NewReader("{\n \"companyLegalName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"birthDate\": \"<string>\",\n \"nationality\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"externalId\": \"<string>\",\n \"signedAgreement\": true,\n \"residentialAddress\": {\n \"line1\": \"123 Main St\",\n \"line2\": \"<string>\",\n \"city\": \"Seattle\",\n \"state\": \"WA\",\n \"country\": \"US\",\n \"zipCode\": \"98101\"\n },\n \"identifyingInformation\": [\n {\n \"type\": \"ssn\",\n \"issuingCountry\": \"US\",\n \"number\": \"123456789\"\n }\n ],\n \"endorsements\": [],\n \"metadata\": {},\n \"dbaName\": \"<string>\",\n \"formationDate\": \"<string>\",\n \"registrationCountry\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"incorporationAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"physicalAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"websiteUrl\": \"<string>\",\n \"businessDescription\": \"<string>\",\n \"industry\": \"<string>\",\n \"industryFinancialServicesSubtype\": \"<string>\",\n \"industryCryptoSubtype\": \"<string>\",\n \"industryOtherDescription\": \"<string>\",\n \"sourceOfFundsOtherDescription\": \"<string>\",\n \"accountPurposesOtherDescription\": \"<string>\",\n \"primaryTargetMarketOtherDescription\": \"<string>\",\n \"sourceOfFunds\": [\n \"<string>\"\n ],\n \"accountPurposes\": [\n \"<string>\"\n ],\n \"primaryTargetMarket\": \"<string>\",\n \"expectedFiatMonthlyVolume\": \"<string>\",\n \"expectedCryptoMonthlyVolume\": \"<string>\",\n \"isMsb\": true,\n \"disclosureAccepted\": true,\n \"disclosureAcceptedAt\": \"2023-11-07T05:31:56Z\",\n \"disclosureVersion\": \"<string>\",\n \"disclosureIpAddress\": \"<string>\",\n \"businessTaxId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://sandbox-api.polygon.technology/v0.13/customers/{customerId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"companyLegalName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"birthDate\": \"<string>\",\n \"nationality\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"externalId\": \"<string>\",\n \"signedAgreement\": true,\n \"residentialAddress\": {\n \"line1\": \"123 Main St\",\n \"line2\": \"<string>\",\n \"city\": \"Seattle\",\n \"state\": \"WA\",\n \"country\": \"US\",\n \"zipCode\": \"98101\"\n },\n \"identifyingInformation\": [\n {\n \"type\": \"ssn\",\n \"issuingCountry\": \"US\",\n \"number\": \"123456789\"\n }\n ],\n \"endorsements\": [],\n \"metadata\": {},\n \"dbaName\": \"<string>\",\n \"formationDate\": \"<string>\",\n \"registrationCountry\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"incorporationAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"physicalAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"websiteUrl\": \"<string>\",\n \"businessDescription\": \"<string>\",\n \"industry\": \"<string>\",\n \"industryFinancialServicesSubtype\": \"<string>\",\n \"industryCryptoSubtype\": \"<string>\",\n \"industryOtherDescription\": \"<string>\",\n \"sourceOfFundsOtherDescription\": \"<string>\",\n \"accountPurposesOtherDescription\": \"<string>\",\n \"primaryTargetMarketOtherDescription\": \"<string>\",\n \"sourceOfFunds\": [\n \"<string>\"\n ],\n \"accountPurposes\": [\n \"<string>\"\n ],\n \"primaryTargetMarket\": \"<string>\",\n \"expectedFiatMonthlyVolume\": \"<string>\",\n \"expectedCryptoMonthlyVolume\": \"<string>\",\n \"isMsb\": true,\n \"disclosureAccepted\": true,\n \"disclosureAcceptedAt\": \"2023-11-07T05:31:56Z\",\n \"disclosureVersion\": \"<string>\",\n \"disclosureIpAddress\": \"<string>\",\n \"businessTaxId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/customers/{customerId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyLegalName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"birthDate\": \"<string>\",\n \"nationality\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"externalId\": \"<string>\",\n \"signedAgreement\": true,\n \"residentialAddress\": {\n \"line1\": \"123 Main St\",\n \"line2\": \"<string>\",\n \"city\": \"Seattle\",\n \"state\": \"WA\",\n \"country\": \"US\",\n \"zipCode\": \"98101\"\n },\n \"identifyingInformation\": [\n {\n \"type\": \"ssn\",\n \"issuingCountry\": \"US\",\n \"number\": \"123456789\"\n }\n ],\n \"endorsements\": [],\n \"metadata\": {},\n \"dbaName\": \"<string>\",\n \"formationDate\": \"<string>\",\n \"registrationCountry\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"incorporationAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"physicalAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"websiteUrl\": \"<string>\",\n \"businessDescription\": \"<string>\",\n \"industry\": \"<string>\",\n \"industryFinancialServicesSubtype\": \"<string>\",\n \"industryCryptoSubtype\": \"<string>\",\n \"industryOtherDescription\": \"<string>\",\n \"sourceOfFundsOtherDescription\": \"<string>\",\n \"accountPurposesOtherDescription\": \"<string>\",\n \"primaryTargetMarketOtherDescription\": \"<string>\",\n \"sourceOfFunds\": [\n \"<string>\"\n ],\n \"accountPurposes\": [\n \"<string>\"\n ],\n \"primaryTargetMarket\": \"<string>\",\n \"expectedFiatMonthlyVolume\": \"<string>\",\n \"expectedCryptoMonthlyVolume\": \"<string>\",\n \"isMsb\": true,\n \"disclosureAccepted\": true,\n \"disclosureAcceptedAt\": \"2023-11-07T05:31:56Z\",\n \"disclosureVersion\": \"<string>\",\n \"disclosureIpAddress\": \"<string>\",\n \"businessTaxId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "cst_01H9Xa8F5dN6mP3q",
"type": "individual",
"name": "Jane Smith",
"firstName": "Jane",
"middleName": null,
"lastName": "Smith",
"email": "jane@example.com",
"phone": "+12125551234",
"nationality": "US",
"externalId": "crm-12345",
"status": "active",
"hold": {
"code": "verificationRequired",
"message": "<string>"
},
"failure": {
"code": "onboardingRejected",
"message": "<string>",
"retryable": true
},
"signedAgreement": true,
"signedAgreementAt": "2026-03-20T14:15:22Z",
"totalBalance": {
"totalUsd": "1250.00",
"fiatUsd": "1000.00",
"cryptoUsd": "250.00",
"updatedAt": "2026-03-20T14:15:22Z"
},
"endorsements": [
{
"type": "basic",
"status": "pending",
"requirements": {
"complete": [
"<string>"
],
"pending": [
"<string>"
],
"missing": [
"<string>"
],
"issues": [
"<string>"
]
},
"failure": {
"code": "onboardingRejected",
"message": "<string>",
"retryable": true
}
}
],
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"companyLegalName": "<string>",
"dbaName": "<string>",
"formationDate": "<string>",
"registrationCountry": "<string>",
"registrationNumber": "<string>",
"legalEntityType": "corporation",
"ownershipType": "exempt",
"taxIdType": "ein",
"incorporationAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"physicalAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"websiteUrl": "<string>",
"businessDescription": "<string>",
"industry": "<string>",
"industryFinancialServicesSubtype": "<string>",
"industryCryptoSubtype": "<string>",
"industryOtherDescription": "<string>",
"sourceOfFundsOtherDescription": "<string>",
"accountPurposesOtherDescription": "<string>",
"primaryTargetMarketOtherDescription": "<string>",
"sourceOfFunds": [
"<string>"
],
"accountPurposes": [
"<string>"
],
"primaryTargetMarket": "<string>",
"expectedFiatMonthlyVolume": "<string>",
"expectedCryptoMonthlyVolume": "<string>",
"isMsb": true,
"disclosureAccepted": true,
"disclosureAcceptedAt": "2023-11-07T05:31:56Z",
"disclosureVersion": "<string>",
"disclosureIpAddress": "<string>",
"hasBusinessTaxId": true
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"status": 401,
"cause": "signature"
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"status": 401,
"cause": "signature"
}Update a customer
Partial update. Only include fields you want to change. Compliance-relevant changes (residentialAddress, lastName, identifyingInformation, ipAddress) may trigger endorsement re-evaluation. Including endorsement names in the endorsements array explicitly triggers re-evaluation.
curl --request PATCH \
--url https://sandbox-api.polygon.technology/v0.13/customers/{customerId} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"companyLegalName": "<string>",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"birthDate": "<string>",
"nationality": "<string>",
"ipAddress": "<string>",
"externalId": "<string>",
"signedAgreement": true,
"residentialAddress": {
"line1": "123 Main St",
"line2": "<string>",
"city": "Seattle",
"state": "WA",
"country": "US",
"zipCode": "98101"
},
"identifyingInformation": [
{
"type": "ssn",
"issuingCountry": "US",
"number": "123456789"
}
],
"endorsements": [],
"metadata": {},
"dbaName": "<string>",
"formationDate": "<string>",
"registrationCountry": "<string>",
"registrationNumber": "<string>",
"incorporationAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"physicalAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"websiteUrl": "<string>",
"businessDescription": "<string>",
"industry": "<string>",
"industryFinancialServicesSubtype": "<string>",
"industryCryptoSubtype": "<string>",
"industryOtherDescription": "<string>",
"sourceOfFundsOtherDescription": "<string>",
"accountPurposesOtherDescription": "<string>",
"primaryTargetMarketOtherDescription": "<string>",
"sourceOfFunds": [
"<string>"
],
"accountPurposes": [
"<string>"
],
"primaryTargetMarket": "<string>",
"expectedFiatMonthlyVolume": "<string>",
"expectedCryptoMonthlyVolume": "<string>",
"isMsb": true,
"disclosureAccepted": true,
"disclosureAcceptedAt": "2023-11-07T05:31:56Z",
"disclosureVersion": "<string>",
"disclosureIpAddress": "<string>",
"businessTaxId": "<string>"
}
'import requests
url = "https://sandbox-api.polygon.technology/v0.13/customers/{customerId}"
payload = {
"companyLegalName": "<string>",
"firstName": "<string>",
"middleName": "<string>",
"lastName": "<string>",
"email": "<string>",
"phone": "<string>",
"birthDate": "<string>",
"nationality": "<string>",
"ipAddress": "<string>",
"externalId": "<string>",
"signedAgreement": True,
"residentialAddress": {
"line1": "123 Main St",
"line2": "<string>",
"city": "Seattle",
"state": "WA",
"country": "US",
"zipCode": "98101"
},
"identifyingInformation": [
{
"type": "ssn",
"issuingCountry": "US",
"number": "123456789"
}
],
"endorsements": [],
"metadata": {},
"dbaName": "<string>",
"formationDate": "<string>",
"registrationCountry": "<string>",
"registrationNumber": "<string>",
"incorporationAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"physicalAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"websiteUrl": "<string>",
"businessDescription": "<string>",
"industry": "<string>",
"industryFinancialServicesSubtype": "<string>",
"industryCryptoSubtype": "<string>",
"industryOtherDescription": "<string>",
"sourceOfFundsOtherDescription": "<string>",
"accountPurposesOtherDescription": "<string>",
"primaryTargetMarketOtherDescription": "<string>",
"sourceOfFunds": ["<string>"],
"accountPurposes": ["<string>"],
"primaryTargetMarket": "<string>",
"expectedFiatMonthlyVolume": "<string>",
"expectedCryptoMonthlyVolume": "<string>",
"isMsb": True,
"disclosureAccepted": True,
"disclosureAcceptedAt": "2023-11-07T05:31:56Z",
"disclosureVersion": "<string>",
"disclosureIpAddress": "<string>",
"businessTaxId": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
companyLegalName: '<string>',
firstName: '<string>',
middleName: '<string>',
lastName: '<string>',
email: '<string>',
phone: '<string>',
birthDate: '<string>',
nationality: '<string>',
ipAddress: '<string>',
externalId: '<string>',
signedAgreement: true,
residentialAddress: {
line1: '123 Main St',
line2: '<string>',
city: 'Seattle',
state: 'WA',
country: 'US',
zipCode: '98101'
},
identifyingInformation: [{type: 'ssn', issuingCountry: 'US', number: '123456789'}],
endorsements: [],
metadata: {},
dbaName: '<string>',
formationDate: '<string>',
registrationCountry: '<string>',
registrationNumber: '<string>',
incorporationAddress: {
line1: '<string>',
line2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>',
country: '<string>'
},
physicalAddress: {
line1: '<string>',
line2: '<string>',
city: '<string>',
state: '<string>',
postalCode: '<string>',
country: '<string>'
},
websiteUrl: '<string>',
businessDescription: '<string>',
industry: '<string>',
industryFinancialServicesSubtype: '<string>',
industryCryptoSubtype: '<string>',
industryOtherDescription: '<string>',
sourceOfFundsOtherDescription: '<string>',
accountPurposesOtherDescription: '<string>',
primaryTargetMarketOtherDescription: '<string>',
sourceOfFunds: ['<string>'],
accountPurposes: ['<string>'],
primaryTargetMarket: '<string>',
expectedFiatMonthlyVolume: '<string>',
expectedCryptoMonthlyVolume: '<string>',
isMsb: true,
disclosureAccepted: true,
disclosureAcceptedAt: '2023-11-07T05:31:56Z',
disclosureVersion: '<string>',
disclosureIpAddress: '<string>',
businessTaxId: '<string>'
})
};
fetch('https://sandbox-api.polygon.technology/v0.13/customers/{customerId}', 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://sandbox-api.polygon.technology/v0.13/customers/{customerId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'companyLegalName' => '<string>',
'firstName' => '<string>',
'middleName' => '<string>',
'lastName' => '<string>',
'email' => '<string>',
'phone' => '<string>',
'birthDate' => '<string>',
'nationality' => '<string>',
'ipAddress' => '<string>',
'externalId' => '<string>',
'signedAgreement' => true,
'residentialAddress' => [
'line1' => '123 Main St',
'line2' => '<string>',
'city' => 'Seattle',
'state' => 'WA',
'country' => 'US',
'zipCode' => '98101'
],
'identifyingInformation' => [
[
'type' => 'ssn',
'issuingCountry' => 'US',
'number' => '123456789'
]
],
'endorsements' => [
],
'metadata' => [
],
'dbaName' => '<string>',
'formationDate' => '<string>',
'registrationCountry' => '<string>',
'registrationNumber' => '<string>',
'incorporationAddress' => [
'line1' => '<string>',
'line2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>',
'country' => '<string>'
],
'physicalAddress' => [
'line1' => '<string>',
'line2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'postalCode' => '<string>',
'country' => '<string>'
],
'websiteUrl' => '<string>',
'businessDescription' => '<string>',
'industry' => '<string>',
'industryFinancialServicesSubtype' => '<string>',
'industryCryptoSubtype' => '<string>',
'industryOtherDescription' => '<string>',
'sourceOfFundsOtherDescription' => '<string>',
'accountPurposesOtherDescription' => '<string>',
'primaryTargetMarketOtherDescription' => '<string>',
'sourceOfFunds' => [
'<string>'
],
'accountPurposes' => [
'<string>'
],
'primaryTargetMarket' => '<string>',
'expectedFiatMonthlyVolume' => '<string>',
'expectedCryptoMonthlyVolume' => '<string>',
'isMsb' => true,
'disclosureAccepted' => true,
'disclosureAcceptedAt' => '2023-11-07T05:31:56Z',
'disclosureVersion' => '<string>',
'disclosureIpAddress' => '<string>',
'businessTaxId' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.polygon.technology/v0.13/customers/{customerId}"
payload := strings.NewReader("{\n \"companyLegalName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"birthDate\": \"<string>\",\n \"nationality\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"externalId\": \"<string>\",\n \"signedAgreement\": true,\n \"residentialAddress\": {\n \"line1\": \"123 Main St\",\n \"line2\": \"<string>\",\n \"city\": \"Seattle\",\n \"state\": \"WA\",\n \"country\": \"US\",\n \"zipCode\": \"98101\"\n },\n \"identifyingInformation\": [\n {\n \"type\": \"ssn\",\n \"issuingCountry\": \"US\",\n \"number\": \"123456789\"\n }\n ],\n \"endorsements\": [],\n \"metadata\": {},\n \"dbaName\": \"<string>\",\n \"formationDate\": \"<string>\",\n \"registrationCountry\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"incorporationAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"physicalAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"websiteUrl\": \"<string>\",\n \"businessDescription\": \"<string>\",\n \"industry\": \"<string>\",\n \"industryFinancialServicesSubtype\": \"<string>\",\n \"industryCryptoSubtype\": \"<string>\",\n \"industryOtherDescription\": \"<string>\",\n \"sourceOfFundsOtherDescription\": \"<string>\",\n \"accountPurposesOtherDescription\": \"<string>\",\n \"primaryTargetMarketOtherDescription\": \"<string>\",\n \"sourceOfFunds\": [\n \"<string>\"\n ],\n \"accountPurposes\": [\n \"<string>\"\n ],\n \"primaryTargetMarket\": \"<string>\",\n \"expectedFiatMonthlyVolume\": \"<string>\",\n \"expectedCryptoMonthlyVolume\": \"<string>\",\n \"isMsb\": true,\n \"disclosureAccepted\": true,\n \"disclosureAcceptedAt\": \"2023-11-07T05:31:56Z\",\n \"disclosureVersion\": \"<string>\",\n \"disclosureIpAddress\": \"<string>\",\n \"businessTaxId\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://sandbox-api.polygon.technology/v0.13/customers/{customerId}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"companyLegalName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"birthDate\": \"<string>\",\n \"nationality\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"externalId\": \"<string>\",\n \"signedAgreement\": true,\n \"residentialAddress\": {\n \"line1\": \"123 Main St\",\n \"line2\": \"<string>\",\n \"city\": \"Seattle\",\n \"state\": \"WA\",\n \"country\": \"US\",\n \"zipCode\": \"98101\"\n },\n \"identifyingInformation\": [\n {\n \"type\": \"ssn\",\n \"issuingCountry\": \"US\",\n \"number\": \"123456789\"\n }\n ],\n \"endorsements\": [],\n \"metadata\": {},\n \"dbaName\": \"<string>\",\n \"formationDate\": \"<string>\",\n \"registrationCountry\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"incorporationAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"physicalAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"websiteUrl\": \"<string>\",\n \"businessDescription\": \"<string>\",\n \"industry\": \"<string>\",\n \"industryFinancialServicesSubtype\": \"<string>\",\n \"industryCryptoSubtype\": \"<string>\",\n \"industryOtherDescription\": \"<string>\",\n \"sourceOfFundsOtherDescription\": \"<string>\",\n \"accountPurposesOtherDescription\": \"<string>\",\n \"primaryTargetMarketOtherDescription\": \"<string>\",\n \"sourceOfFunds\": [\n \"<string>\"\n ],\n \"accountPurposes\": [\n \"<string>\"\n ],\n \"primaryTargetMarket\": \"<string>\",\n \"expectedFiatMonthlyVolume\": \"<string>\",\n \"expectedCryptoMonthlyVolume\": \"<string>\",\n \"isMsb\": true,\n \"disclosureAccepted\": true,\n \"disclosureAcceptedAt\": \"2023-11-07T05:31:56Z\",\n \"disclosureVersion\": \"<string>\",\n \"disclosureIpAddress\": \"<string>\",\n \"businessTaxId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/customers/{customerId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"companyLegalName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"middleName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"email\": \"<string>\",\n \"phone\": \"<string>\",\n \"birthDate\": \"<string>\",\n \"nationality\": \"<string>\",\n \"ipAddress\": \"<string>\",\n \"externalId\": \"<string>\",\n \"signedAgreement\": true,\n \"residentialAddress\": {\n \"line1\": \"123 Main St\",\n \"line2\": \"<string>\",\n \"city\": \"Seattle\",\n \"state\": \"WA\",\n \"country\": \"US\",\n \"zipCode\": \"98101\"\n },\n \"identifyingInformation\": [\n {\n \"type\": \"ssn\",\n \"issuingCountry\": \"US\",\n \"number\": \"123456789\"\n }\n ],\n \"endorsements\": [],\n \"metadata\": {},\n \"dbaName\": \"<string>\",\n \"formationDate\": \"<string>\",\n \"registrationCountry\": \"<string>\",\n \"registrationNumber\": \"<string>\",\n \"incorporationAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"physicalAddress\": {\n \"line1\": \"<string>\",\n \"line2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"postalCode\": \"<string>\",\n \"country\": \"<string>\"\n },\n \"websiteUrl\": \"<string>\",\n \"businessDescription\": \"<string>\",\n \"industry\": \"<string>\",\n \"industryFinancialServicesSubtype\": \"<string>\",\n \"industryCryptoSubtype\": \"<string>\",\n \"industryOtherDescription\": \"<string>\",\n \"sourceOfFundsOtherDescription\": \"<string>\",\n \"accountPurposesOtherDescription\": \"<string>\",\n \"primaryTargetMarketOtherDescription\": \"<string>\",\n \"sourceOfFunds\": [\n \"<string>\"\n ],\n \"accountPurposes\": [\n \"<string>\"\n ],\n \"primaryTargetMarket\": \"<string>\",\n \"expectedFiatMonthlyVolume\": \"<string>\",\n \"expectedCryptoMonthlyVolume\": \"<string>\",\n \"isMsb\": true,\n \"disclosureAccepted\": true,\n \"disclosureAcceptedAt\": \"2023-11-07T05:31:56Z\",\n \"disclosureVersion\": \"<string>\",\n \"disclosureIpAddress\": \"<string>\",\n \"businessTaxId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "cst_01H9Xa8F5dN6mP3q",
"type": "individual",
"name": "Jane Smith",
"firstName": "Jane",
"middleName": null,
"lastName": "Smith",
"email": "jane@example.com",
"phone": "+12125551234",
"nationality": "US",
"externalId": "crm-12345",
"status": "active",
"hold": {
"code": "verificationRequired",
"message": "<string>"
},
"failure": {
"code": "onboardingRejected",
"message": "<string>",
"retryable": true
},
"signedAgreement": true,
"signedAgreementAt": "2026-03-20T14:15:22Z",
"totalBalance": {
"totalUsd": "1250.00",
"fiatUsd": "1000.00",
"cryptoUsd": "250.00",
"updatedAt": "2026-03-20T14:15:22Z"
},
"endorsements": [
{
"type": "basic",
"status": "pending",
"requirements": {
"complete": [
"<string>"
],
"pending": [
"<string>"
],
"missing": [
"<string>"
],
"issues": [
"<string>"
]
},
"failure": {
"code": "onboardingRejected",
"message": "<string>",
"retryable": true
}
}
],
"metadata": {},
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"companyLegalName": "<string>",
"dbaName": "<string>",
"formationDate": "<string>",
"registrationCountry": "<string>",
"registrationNumber": "<string>",
"legalEntityType": "corporation",
"ownershipType": "exempt",
"taxIdType": "ein",
"incorporationAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"physicalAddress": {
"line1": "<string>",
"line2": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"websiteUrl": "<string>",
"businessDescription": "<string>",
"industry": "<string>",
"industryFinancialServicesSubtype": "<string>",
"industryCryptoSubtype": "<string>",
"industryOtherDescription": "<string>",
"sourceOfFundsOtherDescription": "<string>",
"accountPurposesOtherDescription": "<string>",
"primaryTargetMarketOtherDescription": "<string>",
"sourceOfFunds": [
"<string>"
],
"accountPurposes": [
"<string>"
],
"primaryTargetMarket": "<string>",
"expectedFiatMonthlyVolume": "<string>",
"expectedCryptoMonthlyVolume": "<string>",
"isMsb": true,
"disclosureAccepted": true,
"disclosureAcceptedAt": "2023-11-07T05:31:56Z",
"disclosureVersion": "<string>",
"disclosureIpAddress": "<string>",
"hasBusinessTaxId": true
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"status": 401,
"cause": "signature"
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"status": 401,
"cause": "signature"
}Authorizations
Token from POST /auth/token
Path Parameters
Body
Partial update — only send the fields you want to change. All optional fields from CustomerRequest can be updated (including ipAddress). PII fields are write-only.
Legal business name. Required for business creation; supports Unicode and punctuation. Only valid for business customers.
255One-way operation — cannot be set back to false.
Customer's residential address.
Hide child attributes
Hide child attributes
Appends to existing array. To replace an entry, submit the same type with updated fields.
Hide child attributes
Hide child attributes
ssn, itin, driversLicense, passport "ssn"
ISO 3166-1 alpha-2 country code.
"US"
The identification number.
"123456789"
Request additional endorsements. New endorsements are added; existing ones are not removed. Including endorsement names triggers re-evaluation.
basic, cryptoCustody, usd corporation, llc, nonProfit, partnership, soleProprietorship, trust exempt, excluded, nonProfit, legalEntity ein, vat, foreign, ssn, itin, foreignTin Response
Customer updated
Customer response object. PII fields (birthDate, residentialAddress, ipAddress, identifyingInformation) are write-only — accepted in POST/PATCH but never returned in responses.
"cst_01H9Xa8F5dN6mP3q"
Customer type. Individuals are subject to the project's KYC policy, businesses to its KYB policy.
individual, business "individual"
An individual's first, middle and last names joined by spaces, or a business's legal name. Left out when the customer has no name.
"Jane Smith"
"Jane"
null
"Smith"
"jane@example.com"
Primary phone in E.164 format.
"+12125551234"
ISO 3166-1 alpha-2 country code.
"US"
Developer's own customer ID for cross-referencing.
"crm-12345"
Where the customer is in onboarding. actionRequired carries a hold saying what to do, and rejected carries a failure. offboarded is a deleted or deactivated customer.
pending, actionRequired, active, rejected, offboarded "active"
Whether the customer has accepted OMS terms of service.
true
Timestamp when signedAgreement was set to true. Null if not yet signed.
"2026-03-20T14:15:22Z"
USD rollup of a customer's balances. Returned on GET /customers/{id} only — never on list, create, or update. Covers fiat wallets and custodial crypto wallets; noncustodial wallets are not yet valued, so a customer holding one reads an undercount here. Omitted entirely when the rollup cannot be read; a partial total is never returned, so treat an absent field as "unknown", not as zero.
Hide child attributes
Hide child attributes
fiatUsd + cryptoUsd, 2 decimal places, sign preserved.
"1250.00"
Sum of the customer's USD fiat wallet balances as last reported by the holding bank. Can be negative — an ACH clawback can overdraw a deposit account — so render the sign verbatim and never clamp.
"1000.00"
Sum of the customer's custodial crypto wallet balances at the custodian's own per-asset USD estimate. "0.00" for a customer with no custodial crypto account.
"250.00"
When the custodial wallet provider last updated the crypto balances in cryptoUsd: the newest per-asset timestamp the provider reports across those balances, read live with this request. Fiat balances do not affect it. Omitted when the provider reports no timestamp, for example when the customer holds no custodial crypto wallet.
"2026-03-20T14:15:22Z"
What the customer is endorsed for. An endorsement never reads further along than its customer, and one that was not requested is left out.
Hide child attributes
Hide child attributes
basic, cryptoCustody, usd pending, actionRequired, active, rejected, offboarded 255corporation, llc, nonProfit, partnership, soleProprietorship, trust exempt, excluded, nonProfit, legalEntity ein, vat, foreign, ssn, itin, foreignTin Was this page helpful?