curl --request PATCH \
--url https://sandbox.api.byzantine.fi/v1/submit/update-individual-account \
--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 '
{
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"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>"
},
"additionalUserInfo": {
"employmentStatus": "employed",
"expectedMonthlyPaymentsUsd": "5000_9999",
"sourceOfFunds": "salary",
"mostRecentOccupation": "151252"
},
"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-individual-account"
payload = {
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"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>"
},
"additionalUserInfo": {
"employmentStatus": "employed",
"expectedMonthlyPaymentsUsd": "5000_9999",
"sourceOfFunds": "salary",
"mostRecentOccupation": "151252"
},
"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({
accountId: '550e8400-e29b-41d4-a716-446655440000',
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>'
},
additionalUserInfo: {
employmentStatus: 'employed',
expectedMonthlyPaymentsUsd: '5000_9999',
sourceOfFunds: 'salary',
mostRecentOccupation: '151252'
},
verificationDocuments: [
{
issuingCountry: 'FRA',
document: 'data:image/png;base64,iVBORw0lFTkSuQmCC...',
documentNumber: 'FR1234567890',
description: 'Additional supporting document'
}
]
})
};
fetch('https://sandbox.api.byzantine.fi/v1/submit/update-individual-account', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"userId": "550e8400-e29b-41d4-a716-446655440000",
"accountId": "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>"
},
"additionalUserInfo": {
"employmentStatus": "employed",
"expectedMonthlyPaymentsUsd": "5000_9999",
"sourceOfFunds": "salary",
"mostRecentOccupation": "151252"
},
"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 individual account's user details
It is possible to call this endpoint as many times as necessary to submit additional information/documents to complete the account.
Only the accountId is required.
curl --request PATCH \
--url https://sandbox.api.byzantine.fi/v1/submit/update-individual-account \
--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 '
{
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"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>"
},
"additionalUserInfo": {
"employmentStatus": "employed",
"expectedMonthlyPaymentsUsd": "5000_9999",
"sourceOfFunds": "salary",
"mostRecentOccupation": "151252"
},
"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-individual-account"
payload = {
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"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>"
},
"additionalUserInfo": {
"employmentStatus": "employed",
"expectedMonthlyPaymentsUsd": "5000_9999",
"sourceOfFunds": "salary",
"mostRecentOccupation": "151252"
},
"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({
accountId: '550e8400-e29b-41d4-a716-446655440000',
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>'
},
additionalUserInfo: {
employmentStatus: 'employed',
expectedMonthlyPaymentsUsd: '5000_9999',
sourceOfFunds: 'salary',
mostRecentOccupation: '151252'
},
verificationDocuments: [
{
issuingCountry: 'FRA',
document: 'data:image/png;base64,iVBORw0lFTkSuQmCC...',
documentNumber: 'FR1234567890',
description: 'Additional supporting document'
}
]
})
};
fetch('https://sandbox.api.byzantine.fi/v1/submit/update-individual-account', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"userId": "550e8400-e29b-41d4-a716-446655440000",
"accountId": "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>"
},
"additionalUserInfo": {
"employmentStatus": "employed",
"expectedMonthlyPaymentsUsd": "5000_9999",
"sourceOfFunds": "salary",
"mostRecentOccupation": "151252"
},
"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 individual account details
Request body for updating an individual account's user details.
Only the provided fields will be updated. Mirrors CreateIndividualAccountRequest structure.
A UUID string
"550e8400-e29b-41d4-a716-446655440000"
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
Additional user information for KYC. All fields are required when provided.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
Individual account updated successfully
Response body for updating an individual account
A UUID string
"550e8400-e29b-41d4-a716-446655440000"
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
Additional user information for KYC. All fields are required when provided.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
List of missing required verification steps. Present only if not all required documents have been submitted.

