> ## 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.

# Registrar clave PIX

> Registra una nueva clave PIX tras validar la solicitud, aplicar los límites del titular y sincronizar con éxito con el DICT de BACEN. El registro falla de forma cerrada si el DICT de BACEN no está disponible o rechaza la clave.



## OpenAPI

````yaml es/openapi/v3-current/spi-dict.yaml post /api/v1/dict/keys
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    Interfaz OpenAPI 3.1 de la capacidad DICT (Diretório de Identificadores de
    Contas Transacionais) de Lerian SPI, la integración directa entre la
    institución y el Sistema de Pagos Instantáneos Brasileño (SPI/Pix). Cubre el
    ciclo de vida de las claves PIX, los reclamos de portabilidad y titularidad,
    los reportes de infracción, las devoluciones, los marcadores de fraude, los
    reportes DICT síncronos y las operaciones internas de conciliación y
    aprovisionamiento que mantienen consistente el directorio de claves.
  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: >-
      Ciclo de vida de las claves PIX: registro, listado, búsqueda, consulta,
      eliminación y estadísticas.
    name: Keys
  - description: >-
      Reclamos de portabilidad y titularidad de claves PIX a lo largo de todo su
      ciclo de vida (iniciar, confirmar, rechazar, cancelar, reconocer,
      completar).
    name: Claims
  - description: 'Reportes de infracción DICT: crear, listar y recuperar.'
    name: Infractions
  - description: 'Solicitudes de devolución DICT: crear, listar y recuperar.'
    name: Refunds
  - description: 'Marcadores de fraude PIX: crear, listar y estadísticas.'
    name: Fraud Markers
  - description: >-
      Reportes síncronos sobre el propio registro DICT de Lerian SPI: resúmenes
      COUNT(*) de claves (por tipo/estado) y reclamos (por tipo/estado +
      vencidos sin resolver). Solo COUNT — DICT no retiene dinero.
    name: Reports
  - description: >-
      Operaciones internas de DICT: ejecuciones de conciliación,
      aprovisionamiento del ISPB del participante, procesamiento de plazos de
      reclamos y limpieza de claves huérfanas.
    name: Internal
paths:
  /api/v1/dict/keys:
    post:
      tags:
        - Keys
      summary: Registrar clave PIX
      description: >-
        Registra una nueva clave PIX tras validar la solicitud, aplicar los
        límites del titular y sincronizar con éxito con el DICT de BACEN. El
        registro falla de forma cerrada si el DICT de BACEN no está disponible o
        rechaza la clave.
      operationId: registerKey
      parameters:
        - description: Idempotency key, max 255 characters
          in: header
          name: Idempotency-Key
          schema:
            description: Idempotency key, max 255 characters
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterKeyRequest'
              description: >-
                PIX key to register (key type, value, owner identity, and
                participant ISPB); registration fails closed if BACEN DICT
                rejects or is unavailable
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PIXKeyResponse'
                description: Registered PIX key with its assigned status
          description: Created
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    RegisterKeyRequest:
      additionalProperties: false
      properties:
        accountNumber:
          description: Account number (1..20 digits).
          examples:
            - '9988776'
          type: string
        accountType:
          description: >-
            BACEN account type: CACC (current), TRAN (transactional), SLRY
            (salary), or SVGS (savings).
          enum:
            - CACC
            - TRAN
            - SLRY
            - SVGS
          examples:
            - CACC
          type: string
        branch:
          description: Account branch (1..4 digits), optional.
          examples:
            - '0001'
          type: string
        keyType:
          description: 'PIX key type: CPF, CNPJ, EMAIL, PHONE, or EVP (random key).'
          examples:
            - CPF
          type: string
        keyValue:
          description: >-
            PIX key value, formatted according to keyType (e.g. 11 digits for
            CPF, E.164 for PHONE, an email address for EMAIL).
          examples:
            - '12345678901'
          type: string
        openingDate:
          description: >-
            Account opening date, RFC 3339 (the FI account's opening date, not
            the key's creation moment).
          examples:
            - '2020-01-15T00:00:00Z'
          type: string
        ownerName:
          description: Full legal name of the key owner.
          examples:
            - João Silva
          type: string
        ownerTaxId:
          description: >-
            Owner tax identifier (CPF for individuals, CNPJ for businesses),
            digits only.
          examples:
            - '12345678901'
          type: string
        ownerTradeName:
          description: Owner trade name (legal-entity / CNPJ owners), optional.
          examples:
            - Silva ME
          type: string
        participantISPB:
          description: Owning participant ISPB, the 8-digit BACEN institution identifier.
          examples:
            - '12345678'
          type: string
      required:
        - keyType
        - keyValue
        - ownerName
        - ownerTaxId
        - participantISPB
        - accountNumber
        - accountType
        - openingDate
      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

````