> ## Documentation Index
> Fetch the complete documentation index at: https://developers.portao3.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# /realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix/{pixId}



## OpenAPI

````yaml /api-reference/banking.openapi.json put /realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix/{pixId}
openapi: 3.0.3
info:
  title: Banking
  version: 1.0.0
  description: >-
    Portão 3 banking API. Generated by tools/openapi from code (routes +
    security) and the hand-written spec (request/response bodies). Banking
    attaches a zod validationSchema at the route; request bodies are resolved
    from it (object + array roots). Responses have no presenter layer, so they
    stay tier=unknown. Confidence tiers: generated:typed=107 copied:manual=7
    unknown=79.
servers:
  - url: https://api.banking.v2.portao3.com.br/
    description: production
  - url: https://api.banking.dev.3pers.com.br/
    description: development
security:
  - bearerAuth: []
tags:
  - name: Accounts
  - name: Wallets
  - name: Cards
  - name: PIX
  - name: PIX Keys (DICT)
  - name: PIX Charges
  - name: PIX Automatic
  - name: PIX Initiation (Open Finance)
  - name: PIX Infractions (MED)
  - name: Boleto
  - name: Boleto Charges
  - name: TED
  - name: Transfers
  - name: Transactions
  - name: Cashback
  - name: Currency Codes
  - name: Reversals
paths:
  /realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix/{pixId}:
    put:
      tags:
        - PIX
      summary: >-
        /realms/{realmId}/organizations/{organizationId}/accounts/{accountId}/wallets/{walletId}/pix/{pixId}
      operationId: >-
        putRealmsByRealmIdOrganizationsByOrganizationIdAccountsByAccountIdWalletsByWalletIdPixByPixId
      parameters:
        - name: realmId
          in: path
          required: true
          schema:
            type: string
        - name: organizationId
          in: path
          required: true
          schema:
            type: string
        - name: accountId
          in: path
          required: true
          schema:
            type: string
        - name: walletId
          in: path
          required: true
          schema:
            type: string
        - name: pixId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                amount:
                  type: integer
                  minimum: 0
                  exclusiveMinimum: true
                  maximum: 9007199254740991
                category:
                  type: string
                  enum:
                    - FLEX_NATIONAL
                    - FLEX_INTERNATIONAL
                    - FOOD
                    - GAS
                    - MOBILITY
                    - TOLL
                    - FLEX_NATIONAL_WITHOUT_WITHDRAWALS
                    - ADS
                    - SAAS
                    - HOTEL
                    - AIRLINES
                    - TRAVEL
                description:
                  type: string
                customFields:
                  type: object
                  additionalProperties: {}
                scheduledAt:
                  type: string
                  format: date-time
                timeZone:
                  type: string
              required:
                - amount
                - category
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  _id:
                    type: string
                  environment:
                    type: string
                    enum:
                      - LIVE
                      - TEST
                  realmId:
                    type: string
                  organizationId:
                    type: string
                  accountId:
                    type: string
                  walletId:
                    type: string
                  creditParty:
                    type: object
                    properties:
                      bankIspb:
                        type: string
                      accountType:
                        type: string
                        enum:
                          - CACC
                          - SLRY
                          - SVGS
                          - TRAN
                      document:
                        type: string
                      keyType:
                        type: string
                        enum:
                          - PHONE
                          - EMAIL
                          - CPF
                          - CNPJ
                          - EVP
                      key:
                        type: string
                      name:
                        type: string
                      street:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      postalCode:
                        type: string
                      branch:
                        type: string
                      accountNumber:
                        type: number
                  debitParty:
                    type: object
                    properties:
                      bankIspb:
                        type: string
                      accountType:
                        type: string
                        enum:
                          - CACC
                          - SLRY
                          - SVGS
                          - TRAN
                      document:
                        type: string
                      keyType:
                        type: string
                        enum:
                          - PHONE
                          - EMAIL
                          - CPF
                          - CNPJ
                          - EVP
                      key:
                        type: string
                      name:
                        type: string
                      street:
                        type: string
                      city:
                        type: string
                      state:
                        type: string
                      postalCode:
                        type: string
                      branch:
                        type: string
                      accountNumber:
                        type: number
                  description:
                    type: string
                  direction:
                    type: string
                  receipt:
                    type: object
                    properties:
                      endToEndId:
                        type: string
                    required:
                      - endToEndId
                  initiationType:
                    type: string
                    enum:
                      - MANUAL
                      - DICT
                      - STATIC_QRCODE
                      - DYNAMIC_QRCODE
                      - UNDEFINED_QRCODE
                      - COPY_PASTE
                      - FULL_BANK_DETAILS
                      - REVERSAL
                      - AUTOMATIC_PIX
                      - PAYMENT_INITIATOR
                  status:
                    type: string
                    enum:
                      - REQUESTED
                      - PENDING_APPROVAL
                      - CANCELLED
                      - CONFIRMED
                      - PAID
                      - FAILED
                      - REFUNDED
                      - SCHEDULED
                      - EXPIRED
                  transactionType:
                    type: string
                    enum:
                      - TRANSFER
                      - CHANGE
                      - WITHDRAWAL
                      - PAYMENT
                  txnCurrency:
                    type: string
                    enum:
                      - '784'
                      - '971'
                      - '008'
                      - '051'
                      - '973'
                      - '032'
                      - '036'
                      - '533'
                      - '944'
                      - '977'
                      - '052'
                      - '050'
                      - '048'
                      - '108'
                      - '060'
                      - '096'
                      - '068'
                      - '984'
                      - '986'
                      - '044'
                      - '064'
                      - '072'
                      - '933'
                      - '084'
                      - '124'
                      - '976'
                      - '947'
                      - '756'
                      - '948'
                      - '990'
                      - '152'
                      - '156'
                      - '170'
                      - '970'
                      - '188'
                      - '192'
                      - '132'
                      - '203'
                      - '262'
                      - '208'
                      - '214'
                      - '012'
                      - '818'
                      - '232'
                      - '230'
                      - '978'
                      - '242'
                      - '238'
                      - '826'
                      - '981'
                      - '936'
                      - '292'
                      - '270'
                      - '324'
                      - '320'
                      - '328'
                      - '344'
                      - '340'
                      - '332'
                      - '348'
                      - '360'
                      - '376'
                      - '356'
                      - '368'
                      - '364'
                      - '352'
                      - '388'
                      - '400'
                      - '392'
                      - '404'
                      - '417'
                      - '116'
                      - '174'
                      - '408'
                      - '410'
                      - '414'
                      - '136'
                      - '398'
                      - '418'
                      - '422'
                      - '144'
                      - '430'
                      - '426'
                      - '434'
                      - '504'
                      - '498'
                      - '969'
                      - '807'
                      - '104'
                      - '496'
                      - '446'
                      - '929'
                      - '480'
                      - '462'
                      - '454'
                      - '484'
                      - '979'
                      - '458'
                      - '943'
                      - '516'
                      - '566'
                      - '558'
                      - '578'
                      - '524'
                      - '554'
                      - '512'
                      - '590'
                      - '604'
                      - '598'
                      - '608'
                      - '586'
                      - '985'
                      - '600'
                      - '634'
                      - '946'
                      - '941'
                      - '643'
                      - '646'
                      - '682'
                      - '090'
                      - '690'
                      - '938'
                      - '752'
                      - '702'
                      - '654'
                      - '925'
                      - '706'
                      - '968'
                      - '728'
                      - '930'
                      - '222'
                      - '760'
                      - '748'
                      - '764'
                      - '972'
                      - '934'
                      - '788'
                      - '776'
                      - '949'
                      - '780'
                      - '901'
                      - '834'
                      - '980'
                      - '800'
                      - '840'
                      - '997'
                      - '940'
                      - '858'
                      - '927'
                      - '860'
                      - '926'
                      - '928'
                      - '704'
                      - '548'
                      - '882'
                      - '396'
                      - '950'
                      - '961'
                      - '959'
                      - '955'
                      - '956'
                      - '957'
                      - '958'
                      - '951'
                      - '532'
                      - '960'
                      - '952'
                      - '964'
                      - '953'
                      - '962'
                      - '994'
                      - '963'
                      - '965'
                      - '999'
                      - '886'
                      - '710'
                      - '967'
                      - '924'
                  txnAllowAmountChange:
                    type: boolean
                  txnOriginalAmount:
                    type: number
                  txnDiscountAmount:
                    type: number
                  txnFineAmount:
                    type: number
                  txnInterestAmount:
                    type: number
                  txnPurchaseAmount:
                    type: number
                  txnWithdrawalAmount:
                    type: number
                  txnUpdatedAmount:
                    type: number
                  confirmedAt:
                    type: string
                  confirmedAmount:
                    type: number
                  confirmedBalanceCategory:
                    type: string
                    enum:
                      - FLEX_NATIONAL
                      - FLEX_INTERNATIONAL
                      - FOOD
                      - GAS
                      - MOBILITY
                      - TOLL
                      - FLEX_NATIONAL_WITHOUT_WITHDRAWALS
                      - ADS
                      - SAAS
                      - HOTEL
                      - AIRLINES
                      - TRAVEL
                      - BLOCKED
                      - CASHBACK
                  dueDate:
                    type: string
                    nullable: true
                  expiresAt:
                    type: string
                    nullable: true
                  canceledAt:
                    type: string
                    nullable: true
                  refundedAt:
                    type: string
                    nullable: true
                  scheduledAt:
                    anyOf:
                      - type: string
                        nullable: true
                      - type: string
                        format: date-time
                        nullable: true
                  scheduledTimeZone:
                    type: string
                    nullable: true
                  scheduleId:
                    type: string
                    nullable: true
                  policyRequestId:
                    type: string
                  approvalExpiresAt:
                    anyOf:
                      - type: string
                        nullable: true
                      - type: string
                        format: date-time
                        nullable: true
                  pendingConfirmation:
                    type: object
                    properties:
                      amount:
                        type: number
                        description: Integer cents — what will actually be paid.
                      category:
                        type: string
                        enum:
                          - FLEX_NATIONAL
                          - FLEX_INTERNATIONAL
                          - FOOD
                          - GAS
                          - MOBILITY
                          - TOLL
                          - FLEX_NATIONAL_WITHOUT_WITHDRAWALS
                          - ADS
                          - SAAS
                          - HOTEL
                          - AIRLINES
                          - TRAVEL
                          - BLOCKED
                          - CASHBACK
                      description:
                        type: string
                    required:
                      - amount
                    description: >-
                      The payment parameters stored on the payment: what will
                      actually be paid. Set at creation (from the fields the
                      initiating call provided), replaced by `PUT .../{id}`, and
                      executed by a payload-less confirm/request. A stored set
                      that is missing its `category` cannot be executed yet —
                      confirm/request answer 422 `PAYMENT_PARAMETERS_MISSING`
                      until a `PUT` completes it.
                  autoResolutionRequestedAt:
                    anyOf:
                      - type: string
                        nullable: true
                      - type: string
                        format: date-time
                        nullable: true
                    description: >-
                      When a confirm first asked the policy engine to execute
                      the matched auto-approving policy for this payment.
                      Informational; once set, every later confirm of this
                      payment is reconciled against that execution.
                  autoResolutionInFlightUntil:
                    anyOf:
                      - type: string
                        nullable: true
                      - type: string
                        format: date-time
                        nullable: true
                    description: >-
                      While set and in the future, a confirm is asking the
                      policy engine to execute the matched auto-approving policy
                      for this payment and a cancel is refused (409) until it
                      lapses. Cleared once the payment is settled; it stays
                      while the execution outcome is still uncertain.
                  requester:
                    type: object
                    properties:
                      userId:
                        type: string
                      name:
                        type: string
                      email:
                        type: string
                    required:
                      - userId
                      - name
                      - email
                    description: >-
                      Who created this payment — the authenticated user at
                      creation time. Absent on payments created before this
                      field existed.
                  qrCodeType:
                    type: string
                    enum:
                      - STATIC
                      - COB
                      - COBV
                  pixCopyPaste:
                    type: string
                  qrQrCodeActive:
                    type: boolean
                  additionalInfo:
                    type: array
                    items:
                      type: object
                      properties:
                        key:
                          type: string
                        value:
                          type: string
                      required:
                        - key
                        - value
                  withdrawal:
                    type: object
                    properties:
                      agentType:
                        type: string
                        nullable: true
                        enum:
                          - AGTEC
                          - AGTOT
                          - AGPSS
                          - null
                      serviceProvider:
                        type: string
                        nullable: true
                    required:
                      - agentType
                      - serviceProvider
                  external:
                    type: object
                    properties:
                      pixId:
                        type: string
                    required:
                      - pixId
                  customFields:
                    type: object
                    additionalProperties: {}
                  processingType:
                    type: string
                    enum:
                      - INSTANT
                      - DELAYED
                  createdAt:
                    type: string
                  updatedAt:
                    type: string
                  policy:
                    anyOf:
                      - type: object
                        properties:
                          id:
                            type: string
                          realmId:
                            type: string
                          organizationId:
                            type: string
                          context:
                            type: string
                            enum:
                              - PAYMENT
                              - SPEND_REVIEW
                              - TRAVEL
                            description: The business surface a policy governs.
                          name:
                            type: string
                          description:
                            type: string
                          order:
                            type: number
                            description: Evaluation sorts ascending; first match wins.
                          status:
                            type: string
                            enum:
                              - ACTIVE
                              - DISABLED
                              - ARCHIVED
                            description: >-
                              `ARCHIVED` is a soft delete: terminal, set only
                              through the archive endpoint, and never evaluated
                              against a transaction.
                          conditions:
                            type: object
                            properties:
                              logic:
                                type: string
                                enum:
                                  - AND
                                  - OR
                              groups:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    logic:
                                      type: string
                                      enum:
                                        - AND
                                        - OR
                                    dependsOn:
                                      type: array
                                      items:
                                        type: string
                                    items:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          operator:
                                            type: string
                                            description: >-
                                              Same ConditionOperator union the
                                              security rules use (incl. LLM_EVALUATE).
                                          field:
                                            type: string
                                          maskType:
                                            type: string
                                          dynamicFieldValue:
                                            type: string
                                          value: {}
                                        required:
                                          - operator
                                          - field
                                  required:
                                    - logic
                                    - items
                                description: >-
                                  An EMPTY array matches unconditionally — the
                                  catch-all/default policy.
                            required:
                              - logic
                              - groups
                          createdAt:
                            anyOf:
                              - type: string
                              - type: string
                                format: date-time
                          updatedAt:
                            anyOf:
                              - type: string
                              - type: string
                                format: date-time
                          actions:
                            type: object
                            properties:
                              hierarchy:
                                type: boolean
                                description: >-
                                  true = approvals resolve one-by-one in array
                                  order.
                              autoAction:
                                type: string
                                enum:
                                  - APPROVE
                                  - DENY
                                  - NONE
                                description: >-
                                  What happens when a policy matches:

                                  - `APPROVE` — allowed outright, no
                                  policy-request

                                  - `DENY` — refused outright

                                  - `NONE` — an approval flow is required
                                  (`approvals` must be non-empty)
                              moveBalance:
                                type: object
                                properties:
                                  addBalance:
                                    type: boolean
                                  fromAccountId:
                                    type: string
                                    description: Required when `addBalance` is true.
                                  fromWalletId:
                                    type: string
                                    description: Required when `addBalance` is true.
                                required:
                                  - addBalance
                              approvals:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    type:
                                      type: string
                                      enum:
                                        - USER
                                        - GROUP
                                    id:
                                      type: string
                                      description: >-
                                        userId when type=USER, identity groupId
                                        when type=GROUP.
                                    name:
                                      type: string
                                  required:
                                    - id
                                    - type
                                  description: >-
                                    A participant as RENDERED on a read: the
                                    persisted spec plus the display name
                                    resolved at read time.


                                    `name` is never accepted on input and never
                                    persisted — a request body carrying it is
                                    rejected. It is optional on the way out: a
                                    participant whose name cannot be resolved is
                                    returned without one.
                                description: >-
                                  Non-empty when autoAction=NONE; empty/absent
                                  otherwise.
                            required:
                              - autoAction
                            description: >-
                              Evaluation response — a **pure read**.


                              A match returns the whole matched policy; NO match
                              returns exactly `{ actions: { autoAction:
                              "APPROVE" } }`. Callers key off
                              `actions.autoAction` and must tolerate every other
                              field being absent.


                              `approvals[]` carries each participant's display
                              name, resolved at read time exactly as the
                              business-policy CRUD reads do. The name is
                              best-effort: a participant that cannot be resolved
                              keeps its `{type, id}` and omits `name`.
                        required:
                          - actions
                      - type: object
                        properties:
                          error:
                            type: string
                        required:
                          - error
                    description: >-
                      Transient, never persisted — the ADVISORY business-policy
                      evaluation for the parameters just stored. **This is the
                      point of the endpoint.** A pix is created before the user
                      has entered an amount, so the CREATE response's advisory
                      `policy` can never match an amount-based condition; this
                      one can, and it is what tells the client whether a confirm
                      will need approval.


                      Fail-open and ALWAYS present: an unreachable evaluator
                      answers `{ error: "POLICY_EVALUATION_UNAVAILABLE" }`,
                      never an absent key.
                required:
                  - _id
                  - accountId
                  - creditParty
                  - debitParty
                  - description
                  - direction
                  - environment
                  - external
                  - initiationType
                  - organizationId
                  - policy
                  - realmId
                  - receipt
                  - status
                  - transactionType
                  - txnAllowAmountChange
                  - txnCurrency
                  - txnDiscountAmount
                  - txnFineAmount
                  - txnInterestAmount
                  - txnOriginalAmount
                  - txnPurchaseAmount
                  - txnUpdatedAmount
                  - txnWithdrawalAmount
                  - walletId
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````