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

# Confirmar una recurrencia de Pix Automático escaneada

> Aprueba o rechaza una recurrencia escaneada desde un código QR (jornadas J2 y J4 de BACEN, paso 2). El payload de la recurrencia capturado al decodificar el código QR (identificado por `idRec`) se usa para construir una solicitud de autorización, y la decisión se confirma con BTG de forma síncrona. `X-Idempotency` es obligatorio.



## OpenAPI

````yaml es/openapi/v3-current/indirect-pix.yaml POST /v1/recurrences/payer/qr/confirm
openapi: 3.0.3
info:
  title: Plugin BR Pix Indirect - API completa
  description: |
    API completa para el sistema de pagos instantáneos Pix de Brasil, que
    incluye operaciones del diccionario de claves Pix, generación/decodificación
    de códigos QR, transacciones y límites transaccionales.
  version: 1.7.6
servers:
  - url: https://plugin-pix-indirect.api.lerian.net
security:
  - bearerAuth: []
paths:
  /v1/recurrences/payer/qr/confirm:
    post:
      tags:
        - Pix Automático API
      summary: Confirmar una recurrencia de Pix Automático escaneada
      description: >-
        Aprueba o rechaza una recurrencia escaneada desde un código QR (jornadas
        J2 y J4 de BACEN, paso 2). El payload de la recurrencia capturado al
        decodificar el código QR (identificado por `idRec`) se usa para
        construir una solicitud de autorización, y la decisión se confirma con
        BTG de forma síncrona. `X-Idempotency` es obligatorio.
      parameters:
        - $ref: '#/components/parameters/XAccountId'
        - name: X-Idempotency
          in: header
          description: Clave de idempotencia
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConfirmRecurrenceFromQRInput'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConfirmRecurrenceFromQROutput'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
        '502':
          description: Bad Gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
        '504':
          description: Gateway Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
      security:
        - bearerAuth: []
components:
  parameters:
    XAccountId:
      name: X-Account-Id
      in: header
      description: Identificador único de la cuenta del Ledger de Midaz (formato UUID).
      required: true
      example: 019c96a0-0a98-7287-9a31-786e0809c769
      schema:
        type: string
  schemas:
    ConfirmRecurrenceFromQRInput:
      properties:
        decision:
          enum:
            - ACCEPTED
            - REJECTED
          example: ACCEPTED
          type: string
        idRec:
          example: RR0000000000000000001
          maxLength: 64
          type: string
        journey:
          enum:
            - J2
            - J4
          example: J2
          type: string
        receiverMaxAmount:
          example: '500.00'
          type: string
      required:
        - decision
        - idRec
        - journey
      type: object
    ConfirmRecurrenceFromQROutput:
      properties:
        authorizationRequest:
          $ref: '#/components/schemas/AuthorizationRequestOutput'
      type: object
    ErrorFormat:
      type: object
      description: El mensaje de error de la respuesta.
      required:
        - code
        - title
        - message
      properties:
        code:
          type: string
          description: Un identificador único y estable para el error.
        title:
          type: string
          description: Un breve resumen del problema.
        message:
          type: string
          description: Orientación detallada para resolver el error.
    AuthorizationRequestOutput:
      properties:
        acceptedMaxAmount:
          example: '500.00'
          type: string
        accountId:
          example: 019cf6ef-e418-7ced-80c0-7b9816faa798
          type: string
        amount:
          $ref: '#/components/schemas/AuthorizationRequestAmountProfile'
        approvingAt:
          format: date-time
          type: string
        cancellationCode:
          example: ACCL
          type: string
        cancellationRequester:
          example: PSP_PAYEE
          type: string
        cancelledAt:
          format: date-time
          type: string
        confirmedAt:
          format: date-time
          type: string
        createdAt:
          format: date-time
          type: string
        description:
          example: Streaming subscription
          type: string
        destination:
          $ref: '#/components/schemas/AuthorizationRequestDestination'
        expiredAt:
          format: date-time
          type: string
        externalRequestId:
          example: RREC-2026-04-001
          type: string
        firstChargeId:
          example: 019cf6ef-e418-7ced-80c0-7b9816faa798
          type: string
        id:
          example: 019cf6ef-e418-7ced-80c0-7b9816faa798
          type: string
        journey:
          example: J1
          type: string
        payeeRejectionCode:
          example: MD20
          type: string
        payeeRejectionDescription:
          type: string
        periodicity:
          $ref: '#/components/schemas/AuthorizationRequestPeriodicity'
        rejectedAt:
          format: date-time
          type: string
        replyFailedAt:
          format: date-time
          type: string
        replyFailureReason:
          type: string
        retryPolicy:
          example: RETRY_3X_7D
          type: string
        status:
          enum:
            - PENDING
            - INITIATED
            - APPROVING
            - CONFIRMED
            - REJECTED
            - PAYMENT_FAILED
            - REPLY_FAILED
            - CANCELLED
            - EXPIRED
          example: PENDING
          type: string
        updatedAt:
          format: date-time
          type: string
        validUntil:
          example: '2026-06-30T23:59:59Z'
          format: date-time
          type: string
      type: object
    AuthorizationRequestAmountProfile:
      properties:
        fixed:
          example: '29.90'
          type: string
        max:
          example: '500.00'
          type: string
        min:
          example: '10.00'
          type: string
      type: object
    AuthorizationRequestDestination:
      properties:
        account:
          example: '123456'
          type: string
        accountType:
          enum:
            - CACC
            - SVGS
            - TRAN
            - OTHR
          example: CACC
          type: string
        bank:
          example: '30306294'
          type: string
        branch:
          example: '0001'
          type: string
        document:
          example: '12345678000199'
          type: string
        key:
          example: contato@streaming.co
          type: string
        name:
          example: Streaming Co
          type: string
        personType:
          enum:
            - NATURAL_PERSON
            - LEGAL_PERSON
          example: LEGAL_PERSON
          type: string
      type: object
    AuthorizationRequestPeriodicity:
      properties:
        customDays:
          example: 30
          type: integer
        type:
          enum:
            - WEEKLY
            - MONTHLY
            - QUARTERLY
            - SEMIANNUAL
            - ANNUAL
            - CUSTOM
          example: MONTHLY
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````