Skip to main content
PUT
/
identity
/
identities
/
{id}
Update Identity
curl --request PUT \
  --url https://api.paxos.com/v2/identity/identities/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": "f190b163-208f-4d73-8deb-4fb8b24add00",
  "person_details": {
    "first_name": "John"
  }
}
'
import requests

url = "https://api.paxos.com/v2/identity/identities/{id}"

payload = {
"id": "f190b163-208f-4d73-8deb-4fb8b24add00",
"person_details": { "first_name": "John" }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: 'f190b163-208f-4d73-8deb-4fb8b24add00',
person_details: {first_name: 'John'}
})
};

fetch('https://api.paxos.com/v2/identity/identities/{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.paxos.com/v2/identity/identities/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'id' => 'f190b163-208f-4d73-8deb-4fb8b24add00',
'person_details' => [
'first_name' => 'John'
]
]),
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://api.paxos.com/v2/identity/identities/{id}"

payload := strings.NewReader("{\n \"id\": \"f190b163-208f-4d73-8deb-4fb8b24add00\",\n \"person_details\": {\n \"first_name\": \"John\"\n }\n}")

req, _ := http.NewRequest("PUT", 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.put("https://api.paxos.com/v2/identity/identities/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"f190b163-208f-4d73-8deb-4fb8b24add00\",\n \"person_details\": {\n \"first_name\": \"John\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.paxos.com/v2/identity/identities/{id}")

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

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"f190b163-208f-4d73-8deb-4fb8b24add00\",\n \"person_details\": {\n \"first_name\": \"John\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "id": "f190b163-208f-4d73-8deb-4fb8b24add00",
  "summary_status": "PENDING"
}
OAuth Scope
identity:write_identity

Authorizations

Authorization
string
header
required

Paxos APIs use OAuth 2 with the client credentials grant flow.

Token URLs:

Learn more in the API credentials guide →

Path Parameters

id
string
required

Body

application/json
person_details
object
metadata
API User-facing metadata · object
set_user_disabled
boolean

true disables the identity. false re-enables it, unless it has been disabled by a Paxos admin.

institution_details
object
ref_id
string

A user-facing ID to prevent duplicate identity creation. Unique for all identities created by the same API user.

tax_details
list of tax details associated with the identity · object[]
set_tax_details_not_required
boolean

Set to true if tax details are not legally required. Must not be true when cip_id_country is USA.

customer_due_diligence
object
is_merchant
boolean

Set to true to indicate that this identity is a merchant.

last_kyc_refresh_date
string<date-time>

Set to the timestamp the identity has last undergone a periodic kyc refresh. If unset, the update is not for periodic kyc refresh. RFC3339 format, like YYYY-MM-DDTHH:MM:SS.sssZ. ex: 2006-01-02T15:04:05Z.

Response

200 - application/json

A successful response.

id
string
required
metadata
API User-facing metadata · object
status
enum<string>
Available options:
PENDING,
ERROR,
APPROVED,
DENIED,
DISABLED
status_details
object
summary_status
enum<string>
Available options:
PENDING,
ERROR,
APPROVED,
DENIED,
DISABLED
user_disabled
boolean

Deprecated: use status_details.active_controls instead.

admin_disabled
boolean

Deprecated: use status_details.active_controls instead.

person_details
object
type
enum<string>
Available options:
PERSON,
INSTITUTION
ref_id
string

A user-facing ID to prevent duplicate account creation. Unique for all accounts created by the same API user.

institution_details
object
institution_members
members associated with institution identity type · object[]
created_at
string<date-time>

The time at which the identity is created at. RFC3339 format, like YYYY-MM-DDTHH:MM:SS.sssZ. ex: 2006-01-02T15:04:05Z.

updated_at
string<date-time>

The time at which the identity is updated at. RFC3339 format, like YYYY-MM-DDTHH:MM:SS.sssZ. ex: 2006-01-02T15:04:05Z.

tax_details
tax payer details · object[]
tax_details_not_required
boolean
summary_tin_verification_status
enum<string>

The TIN verification status for the associated tax_payer_id.

Available options:
TIN_VERIFICATION_PENDING,
TIN_VERIFICATION_ERROR,
TIN_VERIFICATION_VALID
customer_due_diligence
object
is_merchant
boolean

True if the identity is a merchant.

last_kyc_refresh_date
string<date-time>

The last timestamp the identity has undergone a periodic kyc refresh. RFC3339 format, like YYYY-MM-DDTHH:MM:SS.sssZ. ex: 2006-01-02T15:04:05Z.