Skip to main content
PATCH
Update a Counterparty

Authorizations

Authorization
string
header
required

Token from POST /auth/token

Path Parameters

counterpartyId
string
required

Counterparty ID (ctp_ prefix).

Body

application/json

Partial update — every field optional; omitted fields are unchanged. Unknown fields are rejected with 400 (strict decode) by the handler. entityType cannot be changed (create a new counterparty instead) and name cannot be written (it is server-composed). Send only the name fields matching the counterparty's existing entityType: businessName on an individual, or firstName/lastName on a business, is rejected with 422 validationError.

firstName
string

Given name. Individual counterparties only. Recomposes name.

Required string length: 1 - 140
lastName
string

Family name. Individual counterparties only. Recomposes name.

Required string length: 1 - 140
businessName
string

Registered legal name. Business counterparties only. Recomposes name.

Required string length: 1 - 140
address
object

The counterparty's postal address.

email
string

Contact email address.

phone
string

Phone in E.164 format.

taxId
string

Tax ID (CPF, CNPJ, SSN, etc.). Required for some external-account types.

dateOfBirth
string<date>

Date of birth (YYYY-MM-DD).

nationality
string
metadata
object

Free-form key-value pairs stored on the resource and echoed back on reads.

Response

200 - application/json

The request has succeeded.

A third party a customer transacts with — an entry in the customer's address book. Counterparties will own External Accounts (registered payment destinations) in a later slice.

address
object
required

Registered address. Required since v0.11 — always present in responses.

id
string

Public TypeID, e.g. txn_01h455vb4pex5vsknk084sn02q; legacy UUID suffixes are accepted until non-v7 rows are retired.

Pattern: ^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
object
enum<string>
Available options:
counterparty
customerId
string

Public TypeID, e.g. txn_01h455vb4pex5vsknk084sn02q; legacy UUID suffixes are accepted until non-v7 rows are retired.

Pattern: ^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
status
enum<string>

Lifecycle of a counterparty. rejected is reserved for create-time compliance screening (not yet active); deleted marks a soft-deleted record that remains readable by id.

Available options:
active,
rejected,
deleted
rejectionReason
string

Set when status = rejected.

name
string

Single-line display name, read-only and server-composed: businessName for a business, or firstName + " " + lastName for an individual. It is the same string that appears in party.name. Write the structured fields; read this one.

entityType
enum<string>

Determines which structured name fields apply. Optional on reads only for rows created before v0.13 that have not been classified yet.

Available options:
individual,
business
firstName
string

Given name — present when entityType is individual and the row has structured name fields. Echoed back exactly as supplied.

lastName
string

Family name — present when entityType is individual and the row has structured name fields. Echoed back exactly as supplied.

businessName
string

Registered legal name — present when entityType is business and the row has structured name fields. Echoed back exactly as supplied.

email
string
phone
string
taxId
string
dateOfBirth
string<date>
nationality
string

ISO 3166-1 alpha-2.

metadata
object
createdAt
string<date-time>
updatedAt
string<date-time>