curl --request PATCH \
--url https://sandbox.api.byzantine.fi/v1/submit/update-associated-person \
--header 'Content-Type: application/json' \
--header 'X-Pubkey: <x-pubkey>' \
--header 'X-Pubkey, X-Timestamp, X-Signature: <api-key>' \
--header 'X-Signature: <x-signature>' \
--header 'X-Timestamp: <x-timestamp>' \
--data '
{
"beneficiaryId": "550e8400-e29b-41d4-a716-446655440000",
"associatedPerson": {
"userInfo": {
"firstName": "John",
"middleName": "William",
"lastName": "Smith",
"phone": "+33 123 456 789",
"birthDate": "1990-01-01",
"nationality": "FRA",
"countryOfBirth": "FRA",
"residentialAddress": {
"streetLine1": "33 Rue La Fayette",
"city": "Paris",
"postalCode": "75009",
"country": "FRA",
"streetLine2": "WeWork",
"state": "IDF"
},
"socialSecurityNumber": "123-45-6789",
"profilePictureUrl": "<string>"
},
"beneficiaryDetails": {
"beneficiaryType": [
"ubo"
],
"title": "CTO",
"ownershipPercentage": 50
},
"verificationDocuments": [
{
"issuingCountry": "FRA",
"document": "data:image/png;base64,iVBORw0lFTkSuQmCC...",
"documentNumber": "FR1234567890",
"description": "Additional supporting document"
}
]
}
}
'import requests
url = "https://sandbox.api.byzantine.fi/v1/submit/update-associated-person"
payload = {
"beneficiaryId": "550e8400-e29b-41d4-a716-446655440000",
"associatedPerson": {
"userInfo": {
"firstName": "John",
"middleName": "William",
"lastName": "Smith",
"phone": "+33 123 456 789",
"birthDate": "1990-01-01",
"nationality": "FRA",
"countryOfBirth": "FRA",
"residentialAddress": {
"streetLine1": "33 Rue La Fayette",
"city": "Paris",
"postalCode": "75009",
"country": "FRA",
"streetLine2": "WeWork",
"state": "IDF"
},
"socialSecurityNumber": "123-45-6789",
"profilePictureUrl": "<string>"
},
"beneficiaryDetails": {
"beneficiaryType": ["ubo"],
"title": "CTO",
"ownershipPercentage": 50
},
"verificationDocuments": [
{
"issuingCountry": "FRA",
"document": "data:image/png;base64,iVBORw0lFTkSuQmCC...",
"documentNumber": "FR1234567890",
"description": "Additional supporting document"
}
]
}
}
headers = {
"X-Pubkey": "<x-pubkey>",
"X-Timestamp": "<x-timestamp>",
"X-Signature": "<x-signature>",
"X-Pubkey, X-Timestamp, X-Signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Pubkey': '<x-pubkey>',
'X-Timestamp': '<x-timestamp>',
'X-Signature': '<x-signature>',
'X-Pubkey, X-Timestamp, X-Signature': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
beneficiaryId: '550e8400-e29b-41d4-a716-446655440000',
associatedPerson: {
userInfo: {
firstName: 'John',
middleName: 'William',
lastName: 'Smith',
phone: '+33 123 456 789',
birthDate: '1990-01-01',
nationality: 'FRA',
countryOfBirth: 'FRA',
residentialAddress: {
streetLine1: '33 Rue La Fayette',
city: 'Paris',
postalCode: '75009',
country: 'FRA',
streetLine2: 'WeWork',
state: 'IDF'
},
socialSecurityNumber: '123-45-6789',
profilePictureUrl: '<string>'
},
beneficiaryDetails: {beneficiaryType: ['ubo'], title: 'CTO', ownershipPercentage: 50},
verificationDocuments: [
{
issuingCountry: 'FRA',
document: 'data:image/png;base64,iVBORw0lFTkSuQmCC...',
documentNumber: 'FR1234567890',
description: 'Additional supporting document'
}
]
}
})
};
fetch('https://sandbox.api.byzantine.fi/v1/submit/update-associated-person', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"beneficiaryId": "550e8400-e29b-41d4-a716-446655440000",
"verificationStatus": "active",
"userInfo": {
"firstName": "John",
"middleName": "William",
"lastName": "Smith",
"phone": "+33 123 456 789",
"birthDate": "1990-01-01",
"nationality": "FRA",
"countryOfBirth": "FRA",
"residentialAddress": {
"streetLine1": "33 Rue La Fayette",
"city": "Paris",
"postalCode": "75009",
"country": "FRA",
"streetLine2": "WeWork",
"state": "IDF"
},
"socialSecurityNumber": "123-45-6789",
"profilePictureUrl": "<string>"
},
"beneficiaryDetails": {
"beneficiaryType": [
"ubo"
],
"title": "CTO",
"ownershipPercentage": 50
},
"verificationDocuments": [
{
"documentType": "passport",
"issuingCountry": "FRA",
"documentId": "830c219c-d197-451d-b879-77936a80c452",
"documentNumber": "FR1234567890",
"description": "Additional supporting document",
"warnings": [
"<string>"
],
"errors": [
"<string>"
]
}
],
"missingDocuments": [
"<string>"
]
}Update an associated person's details
curl --request PATCH \
--url https://sandbox.api.byzantine.fi/v1/submit/update-associated-person \
--header 'Content-Type: application/json' \
--header 'X-Pubkey: <x-pubkey>' \
--header 'X-Pubkey, X-Timestamp, X-Signature: <api-key>' \
--header 'X-Signature: <x-signature>' \
--header 'X-Timestamp: <x-timestamp>' \
--data '
{
"beneficiaryId": "550e8400-e29b-41d4-a716-446655440000",
"associatedPerson": {
"userInfo": {
"firstName": "John",
"middleName": "William",
"lastName": "Smith",
"phone": "+33 123 456 789",
"birthDate": "1990-01-01",
"nationality": "FRA",
"countryOfBirth": "FRA",
"residentialAddress": {
"streetLine1": "33 Rue La Fayette",
"city": "Paris",
"postalCode": "75009",
"country": "FRA",
"streetLine2": "WeWork",
"state": "IDF"
},
"socialSecurityNumber": "123-45-6789",
"profilePictureUrl": "<string>"
},
"beneficiaryDetails": {
"beneficiaryType": [
"ubo"
],
"title": "CTO",
"ownershipPercentage": 50
},
"verificationDocuments": [
{
"issuingCountry": "FRA",
"document": "data:image/png;base64,iVBORw0lFTkSuQmCC...",
"documentNumber": "FR1234567890",
"description": "Additional supporting document"
}
]
}
}
'import requests
url = "https://sandbox.api.byzantine.fi/v1/submit/update-associated-person"
payload = {
"beneficiaryId": "550e8400-e29b-41d4-a716-446655440000",
"associatedPerson": {
"userInfo": {
"firstName": "John",
"middleName": "William",
"lastName": "Smith",
"phone": "+33 123 456 789",
"birthDate": "1990-01-01",
"nationality": "FRA",
"countryOfBirth": "FRA",
"residentialAddress": {
"streetLine1": "33 Rue La Fayette",
"city": "Paris",
"postalCode": "75009",
"country": "FRA",
"streetLine2": "WeWork",
"state": "IDF"
},
"socialSecurityNumber": "123-45-6789",
"profilePictureUrl": "<string>"
},
"beneficiaryDetails": {
"beneficiaryType": ["ubo"],
"title": "CTO",
"ownershipPercentage": 50
},
"verificationDocuments": [
{
"issuingCountry": "FRA",
"document": "data:image/png;base64,iVBORw0lFTkSuQmCC...",
"documentNumber": "FR1234567890",
"description": "Additional supporting document"
}
]
}
}
headers = {
"X-Pubkey": "<x-pubkey>",
"X-Timestamp": "<x-timestamp>",
"X-Signature": "<x-signature>",
"X-Pubkey, X-Timestamp, X-Signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-Pubkey': '<x-pubkey>',
'X-Timestamp': '<x-timestamp>',
'X-Signature': '<x-signature>',
'X-Pubkey, X-Timestamp, X-Signature': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
beneficiaryId: '550e8400-e29b-41d4-a716-446655440000',
associatedPerson: {
userInfo: {
firstName: 'John',
middleName: 'William',
lastName: 'Smith',
phone: '+33 123 456 789',
birthDate: '1990-01-01',
nationality: 'FRA',
countryOfBirth: 'FRA',
residentialAddress: {
streetLine1: '33 Rue La Fayette',
city: 'Paris',
postalCode: '75009',
country: 'FRA',
streetLine2: 'WeWork',
state: 'IDF'
},
socialSecurityNumber: '123-45-6789',
profilePictureUrl: '<string>'
},
beneficiaryDetails: {beneficiaryType: ['ubo'], title: 'CTO', ownershipPercentage: 50},
verificationDocuments: [
{
issuingCountry: 'FRA',
document: 'data:image/png;base64,iVBORw0lFTkSuQmCC...',
documentNumber: 'FR1234567890',
description: 'Additional supporting document'
}
]
}
})
};
fetch('https://sandbox.api.byzantine.fi/v1/submit/update-associated-person', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"beneficiaryId": "550e8400-e29b-41d4-a716-446655440000",
"verificationStatus": "active",
"userInfo": {
"firstName": "John",
"middleName": "William",
"lastName": "Smith",
"phone": "+33 123 456 789",
"birthDate": "1990-01-01",
"nationality": "FRA",
"countryOfBirth": "FRA",
"residentialAddress": {
"streetLine1": "33 Rue La Fayette",
"city": "Paris",
"postalCode": "75009",
"country": "FRA",
"streetLine2": "WeWork",
"state": "IDF"
},
"socialSecurityNumber": "123-45-6789",
"profilePictureUrl": "<string>"
},
"beneficiaryDetails": {
"beneficiaryType": [
"ubo"
],
"title": "CTO",
"ownershipPercentage": 50
},
"verificationDocuments": [
{
"documentType": "passport",
"issuingCountry": "FRA",
"documentId": "830c219c-d197-451d-b879-77936a80c452",
"documentNumber": "FR1234567890",
"description": "Additional supporting document",
"warnings": [
"<string>"
],
"errors": [
"<string>"
]
}
],
"missingDocuments": [
"<string>"
]
}Authorizations
Headers
Integrator's ECDSA public key (P-256 curve, compressed SEC1 format). Example: 0x038fedef7c12f93bbf342ad8943b7a825a3b41f61c9dc118b2c718efebabbf62fd
Unix timestamp in seconds (UTC). Must be within tolerance window (1 minute) to prevent replay attacks. Example: 1760375826
ECDSA signature (DER-encoded, hex with 0x prefix). Signs the message: {timestamp}{METHOD}{path_and_query}{json_body}. Example: 0x3045022100...
Body
Update an associated person's details
Response
Associated person updated successfully
Response body for updating an associated person
A UUID string
"550e8400-e29b-41d4-a716-446655440000"
The identity verification status of the user.
not_started, init, under_review, awaiting_associated_person_information, awaiting_information, resubmission_requested, active, rejected, inactive "active"
Personal information about the user for update. All fields are optional — only provided fields are updated.
Same as UserInfo but without email (email cannot be changed).
Show child attributes
Show child attributes
Beneficiary details update payload. All fields are optional — only provided fields are updated.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
List of missing required verification documents. Present only if not all required documents have been submitted.

