> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Update PIX key

> Updates a PIX key's mutable bindings (account and owner name/trade name) and reports the change to BACEN DICT (signed updateEntry). keyType and ownerTaxId are immutable; an attempt to change them is rejected.



## OpenAPI

````yaml en/openapi/v3-current/spi-dict.yaml put /api/v1/dict/keys/{key}
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    OpenAPI 3.1 surface for the DICT (Diretório de Identificadores de Contas
    Transacionais) capability of Lerian SPI, the direct integration between the
    institution and the Brazilian Instant Payment System (SPI/Pix). It covers
    the PIX key lifecycle, portability and ownership claims, infraction reports,
    refunds, fraud markers, synchronous DICT reports, and the internal
    reconciliation and provisioning operations that keep the key directory
    consistent.
  license:
    name: Lerian Studio General License
  title: Lerian SPI — DICT API
  version: 1.0.0
servers:
  - url: https://spi.sandbox.lerian.net
security: []
tags:
  - description: 'PIX key lifecycle: register, list, search, lookup, delete, and statistics.'
    name: Keys
  - description: >-
      PIX key portability and ownership claims through their full lifecycle
      (initiate, confirm, reject, cancel, acknowledge, complete).
    name: Claims
  - description: 'DICT infraction reports: create, list, and retrieve.'
    name: Infractions
  - description: 'DICT refund requests: create, list, and retrieve.'
    name: Refunds
  - description: 'PIX fraud markers: create, list, and statistics.'
    name: Fraud Markers
  - description: >-
      Synchronous reports over Lerian SPI's own DICT record: COUNT(*) summaries
      of keys (by type/status) and claims (by type/status + open-past-deadline).
      COUNT-only — DICT holds no money.
    name: Reports
  - description: >-
      Internal DICT operations: reconciliation runs, participant ISPB
      provisioning, claim deadline processing, and orphaned-key cleanup.
    name: Internal
paths:
  /api/v1/dict/keys/{key}:
    put:
      tags:
        - Keys
      summary: Update PIX key
      description: >-
        Updates a PIX key's mutable bindings (account and owner name/trade name)
        and reports the change to BACEN DICT (signed updateEntry). keyType and
        ownerTaxId are immutable; an attempt to change them is rejected.
      operationId: updateKey
      parameters:
        - description: PIX key value to update (the immutable identifier).
          in: path
          name: key
          required: true
          schema:
            description: PIX key value to update (the immutable identifier).
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateKeyRequest'
              description: >-
                Mutable key fields (account + owner name/trade name) and the
                update reason; keyType and ownerTaxId are immutable and rejected
                if changed.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PIXKeyResponse'
                description: Updated PIX key with its mutable fields applied
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    UpdateKeyRequest:
      additionalProperties: false
      properties:
        accountNumber:
          description: New account number (account mutable field).
          examples:
            - '9988776'
          type: string
        accountType:
          description: New account type (account mutable field).
          examples:
            - CACC
          type: string
        branch:
          description: New account branch (account mutable field).
          examples:
            - '0001'
          type: string
        keyType:
          description: >-
            Immutable: supplying a value differing from the stored keyType is
            rejected.
          examples:
            - CPF
          type: string
        ownerName:
          description: New owner legal name (owner mutable field).
          examples:
            - João Silva
          type: string
        ownerTaxId:
          description: >-
            Immutable: supplying a value differing from the stored ownerTaxId is
            rejected.
          examples:
            - '12345678901'
          type: string
        ownerTradeName:
          description: New owner trade name (owner mutable field).
          examples:
            - Silva ME
          type: string
        participantISPB:
          description: New owning participant ISPB (account mutable field).
          examples:
            - '12345678'
          type: string
        reason:
          description: >-
            Update reason: USER_REQUESTED (not for EVP keys), BRANCH_TRANSFER,
            RECONCILIATION, or RFB_VALIDATION.
          examples:
            - BRANCH_TRANSFER
          type: string
      required:
        - reason
      type: object
    PIXKeyResponse:
      additionalProperties: false
      properties:
        accountNumber:
          description: Account number (1..20 digits), omitted for a tuple-less key.
          examples:
            - '9988776'
          type: string
        accountType:
          description: >-
            BACEN account type (CACC, TRAN, SLRY, SVGS), omitted for a
            tuple-less key.
          enum:
            - CACC
            - TRAN
            - SLRY
            - SVGS
          examples:
            - CACC
          type: string
        branch:
          description: Account branch (1..4 digits), omitted when unset.
          examples:
            - '0001'
          type: string
        createdAt:
          description: Key creation timestamp, RFC 3339 (UTC).
          examples:
            - '2025-03-07T14:30:00Z'
          type: string
        id:
          description: Unique PIX key identifier (UUID) assigned by the service.
          examples:
            - 550e8400-e29b-41d4-a716-446655440000
          type: string
        keyType:
          description: 'PIX key type: CPF, CNPJ, EMAIL, PHONE, or EVP (random key).'
          examples:
            - CPF
          type: string
        keyValue:
          description: PIX key value in its canonical format for the key type.
          examples:
            - '12345678901'
          type: string
        openingDate:
          description: Account opening date, RFC 3339, omitted for a tuple-less key.
          examples:
            - '2020-01-15T00:00:00Z'
          format: date-time
          type: string
        ownerName:
          description: Full legal name of the key owner.
          examples:
            - João Silva
          type: string
        ownerTaxId:
          description: Owner tax identifier (CPF or CNPJ), digits only.
          examples:
            - '12345678901'
          type: string
        ownerTradeName:
          description: Owner trade name (legal-entity owners), omitted when unset.
          examples:
            - Silva ME
          type: string
        participantISPB:
          description: Owning participant ISPB, the 8-digit BACEN institution identifier.
          examples:
            - '12345678'
          type: string
        status:
          description: >-
            Key lifecycle status: ACTIVE, INACTIVE, PENDING_CLAIM, or
            PENDING_BACEN_SYNC.
          examples:
            - ACTIVE
          type: string
        updatedAt:
          description: Timestamp of the last update to the key, RFC 3339 (UTC).
          examples:
            - '2025-03-07T14:30:00Z'
          type: string
      required:
        - id
        - keyType
        - keyValue
        - ownerName
        - ownerTaxId
        - participantISPB
        - status
        - createdAt
        - updatedAt
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````