Skip to main content
PATCH
Update Associated Person
Updates one associated person. Send only the fields that change; anything you omit keeps its stored value. Requires an API key with write access on the accounts scope. Like creation, this endpoint works only on business accounts. The patch is merged onto the stored record and the merged result is revalidated in full, so a change can be rejected because of a field you did not send: changing role to ultimate_beneficial_owner without an ownership_percentage already on record fails. Saving a change re-triggers virtual account group onboarding, so a requirement that was waiting on this person’s details clears on its own. A patch that changes nothing is a no-op and returns the record unchanged.

Path Parameters

string
required
The account’s external ID (starts with acct_)
string
required
The associated person’s external ID (starts with aap_). One belonging to another account returns 404.

Request Body

Every field is optional and carries the same type, format and constraint as on Create Associated Person: role, additional_roles, is_signer, first_name, last_name, middle_name, email, phone_number, date_of_birth, country_code, nationality, birth_country_code, tax_identification_number, tax_residence_country_code, position, ownership_percentage, ownership_type, residential_address, identifying_information.
string
May be changed between ultimate_beneficial_owner, director, control_person and account_representative. account_holder is reserved and rejected. A person whose role is account_holder cannot be updated through this endpoint.
string[]
Replaced wholesale. Send the full list of other roles, or [] to remove them all; null is rejected.
object
Replaced wholesale, not merged field by field. Send the complete address.
object[]
Replaced wholesale. Send the full list you want stored, not just the new entry.
Omitting a field leaves it untouched. Sending it explicitly as null clears it, which works for the optional fields: middle_name, phone_number, position, ownership_type, ownership_percentage (clear ownership_type with it), and the tax pair. Sending null for a field that is required on create fails with 422.

Response

Returns 200 with the updated person, in the same shape as Create Associated Person.

Errors

Request Example

Response Example