Skip to main content
PUT
Update PIX key

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Headers

X-Idempotency
string
required

Idempotency key, max 255 characters

Path Parameters

key
string
required

PIX key value to update (the immutable identifier).

Body

application/json

Mutable key fields (account + owner name/trade name) and the update reason; keyType and ownerTaxId are immutable and rejected if changed.

reason
enum<string>
required

Update reason: USER_REQUESTED (not for EVP keys), BRANCH_TRANSFER, RECONCILIATION, or RFB_VALIDATION. This is the subset BACEN's updateEntry accepts; the wider EntryOperationReason set is not valid on an update.

Available options:
USER_REQUESTED,
BRANCH_TRANSFER,
RECONCILIATION,
RFB_VALIDATION
Example:

"BRANCH_TRANSFER"

accountNumber
string

New account number (account mutable field).

Example:

"9988776"

accountType
string

New account type (account mutable field).

Example:

"CACC"

branch
string

New account branch (account mutable field).

Example:

"0001"

keyType
string

Immutable: supplying a value differing from the stored keyType is rejected.

Example:

"CPF"

ownerName
string

New owner legal name (owner mutable field).

Example:

"João Silva"

ownerTaxId
string

Immutable: supplying a value differing from the stored ownerTaxId is rejected.

Example:

"12345678901"

ownerTradeName
string

New owner trade name (owner mutable field).

Example:

"Silva ME"

Response

OK

Updated PIX key with its mutable fields applied

createdAt
string
required

Key creation timestamp, RFC 3339 (UTC) — OUR row's local timestamp, not BACEN's; see creationDate for the DICT's own binding-creation instant.

Example:

"2025-03-07T14:30:00Z"

id
string
required

Unique PIX key identifier (UUID) assigned by the service.

Example:

"550e8400-e29b-41d4-a716-446655440000"

keyType
string
required

PIX key type: CPF, CNPJ, EMAIL, PHONE, or EVP (random key).

Example:

"CPF"

keyValue
string
required

PIX key value in its canonical format for the key type.

Example:

"12345678901"

ownerName
string
required

Full legal name of the key owner.

Example:

"João Silva"

ownerTaxId
string
required

Owner tax identifier: 11 digits for a CPF, 14 alphanumeric characters for a CNPJ (IN RFB 2.229/2024).

Example:

"12345678901"

participantISPB
string
required

Owning participant ISPB, the 8-digit BACEN institution identifier.

Example:

"12345678"

status
string
required

Key lifecycle status: ACTIVE, INACTIVE, PENDING_CLAIM, PENDING_BACEN_SYNC, or BLOCKED (judicial block, DICT 8.4 §1.1).

Example:

"ACTIVE"

updatedAt
string
required

Timestamp of the last update to the key, RFC 3339 (UTC).

Example:

"2025-03-07T14:30:00Z"

accountNumber
string

Account number (1..20 digits), omitted for a tuple-less key.

Example:

"9988776"

accountType
enum<string>

BACEN account type (CACC, SVGS, TRAN, SLRY, OTHR), omitted for a tuple-less key.

Available options:
CACC,
SVGS,
TRAN,
SLRY,
OTHR
Example:

"CACC"

bacen
object

BACEN's own operational envelope for its most recent interaction on this key; omitted when no BACEN interaction has ever landed on it.

branch
string

Account branch (1..4 digits), omitted when unset.

Example:

"0001"

creationDate
string<date-time>

BACEN's own creation instant for this key/account/owner binding, as the DICT answered it; omitted when BACEN's answer carried none.

Example:

"2020-01-15T00:00:00Z"

keyOwnershipDate
string<date-time>

Instant from which the owner has held uninterrupted possession of this key per BACEN; may differ from creationDate after a portability. Omitted when BACEN's answer carried none.

Example:

"2020-01-15T00:00:00Z"

openingDate
string<date-time>

Account opening date, RFC 3339, omitted for a tuple-less key.

Example:

"2020-01-15T00:00:00Z"

ownerTradeName
string

Owner trade name (legal-entity owners), omitted when unset.

Example:

"Silva ME"

ownerType
enum<string>

BACEN's own Person discriminator for the owner, as the DICT published it — not the value the registration declared, which is refused when the two could disagree. Omitted when BACEN's answer carried none.

Available options:
NATURAL_PERSON,
LEGAL_PERSON
Example:

"NATURAL_PERSON"

requestId
string<uuid>

The participant's own identifier for the registration that created this binding, echoed back. It is the value BACEN holds against the vinculo for life, so it is what a DICT support case and a retry are addressed by. Omitted for a key registered before this field existed or adopted by reconciliation — neither had a caller to state one.

Example:

"b2696bf1-0a51-48b0-ab4a-8af2dff440af"