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

# Encerrar devolução DICT

> Transiciona uma devolução de REQUESTED→ACCEPTED|REJECTED com uma análise e a reporta ao BACEN.



## OpenAPI

````yaml pt/openapi/v3-current/spi-dict.yaml post /api/v1/dict/refunds/{id}/close
openapi: 3.1.0
info:
  contact:
    email: contact@lerian.studio
    name: Lerian Studio
    url: https://lerian.studio
  description: >-
    Interface OpenAPI 3.1 da capacidade DICT (Diretório de Identificadores de
    Contas Transacionais) do Lerian SPI, a integração direta entre a instituição
    e o Sistema de Pagamentos Instantâneos Brasileiro (SPI/Pix). Abrange o ciclo
    de vida das chaves PIX, as reivindicações de portabilidade e titularidade,
    os relatos de infração, as devoluções, os marcadores de fraude, os
    relatórios DICT síncronos e as operações internas de conciliação e
    provisionamento que mantêm o diretório de chaves consistente.
  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 das chaves PIX: registro, listagem, busca, consulta,
      exclusão e estatísticas.
    name: Keys
  - description: >-
      Reivindicações de portabilidade e titularidade de chaves PIX ao longo de
      todo o seu ciclo de vida (iniciar, confirmar, rejeitar, cancelar,
      reconhecer, concluir).
    name: Claims
  - description: 'Relatos de infração DICT: criar, listar e recuperar.'
    name: Infractions
  - description: 'Solicitações de devolução DICT: criar, listar e recuperar.'
    name: Refunds
  - description: 'Marcadores de fraude PIX: criar, listar e estatísticas.'
    name: Fraud Markers
  - description: >-
      Relatórios síncronos sobre o próprio registro DICT do Lerian SPI: resumos
      COUNT(*) de chaves (por tipo/status) e reivindicações (por tipo/status +
      em aberto após o prazo). Somente COUNT — o DICT não retém dinheiro.
    name: Reports
  - description: >-
      Operações internas do DICT: execuções de conciliação, provisionamento do
      ISPB do participante, processamento de prazos de reivindicações e limpeza
      de chaves órfãs.
    name: Internal
paths:
  /api/v1/dict/refunds/{id}/close:
    post:
      tags:
        - Refunds
      summary: Encerrar devolução DICT
      description: >-
        Transiciona uma devolução de REQUESTED→ACCEPTED|REJECTED com uma análise
        e a reporta ao BACEN.
      operationId: closeRefund
      parameters:
        - description: Refund UUID
          in: path
          name: id
          required: true
          schema:
            description: Refund UUID
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloseRefundRequest'
              description: closeRefund analysis body
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RefundResponse'
                description: Persisted local DICT refund request record
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
      security:
        - BearerAuth: []
components:
  schemas:
    CloseRefundRequest:
      additionalProperties: false
      properties:
        analysisDetails:
          description: Optional free-text analysis details
          type: string
        analysisResult:
          description: >-
            Refund analysis outcome: TOTALLY_ACCEPTED, PARTIALLY_ACCEPTED, or
            REJECTED
          examples:
            - TOTALLY_ACCEPTED
          type: string
        effectiveRefundedAmountCents:
          description: >-
            Effective refunded amount in cents; mandatory when analysisResult is
            TOTALLY_ACCEPTED or PARTIALLY_ACCEPTED
          format: int64
          type:
            - integer
            - 'null'
        rejectionReason:
          description: >-
            BACEN rejection reason; mandatory when analysisResult is REJECTED,
            omit when accepted
          type: string
      required:
        - analysisResult
      type: object
    RefundResponse:
      additionalProperties: false
      properties:
        amountCents:
          description: Refund amount in integer minor units (BRL centavos)
          examples:
            - 150000
          format: int64
          type: integer
        createdAt:
          description: Record creation timestamp (RFC 3339, UTC)
          examples:
            - '2026-06-14T12:00:00Z'
          type: string
        effectiveRefundedAmountCents:
          description: >-
            MED 2.0: effective refunded amount in cents recorded on an accepting
            close (verbatim); omitted until close
          examples:
            - 75000
          format: int64
          type: integer
        endToEndId:
          description: BACEN end-to-end identifier (E2E ID) of the refunded PIX transaction
          examples:
            - E1234567820260614ABCDEFGHIJKLMNO
          type: string
        fundsRecoveryId:
          description: >-
            Local funds-recovery id this refund is bound to
            (refund-under-recovery); omitted for a standalone refund
          examples:
            - 550e8400-e29b-41d4-a716-446655440003
          type: string
        id:
          description: Server-assigned refund record UUID
          examples:
            - 550e8400-e29b-41d4-a716-446655440001
          type: string
        monitorAccount:
          description: 'MED 2.0: whether the destination account is monitored'
          examples:
            - true
          type: boolean
        reason:
          description: Free-text justification for the refund request
          type: string
        refundAccount:
          $ref: '#/components/schemas/RefundAccountResponse'
          description: >-
            MED 2.0: destination account of a refund-under-recovery; omitted for
            a standalone refund
        reportStatus:
          description: >-
            BACEN report delivery state: PENDING, SENT, or FAILED (FAILED is
            retryable; the local record stands)
          examples:
            - SENT
          type: string
        requestedByISPB:
          description: ISPB (8 numeric digits) of the participant that requested the refund
          examples:
            - '12345678'
          type: string
        status:
          description: >-
            Local refund lifecycle state: REQUESTED, ACCEPTED, REJECTED,
            SETTLED, or CANCELLED
          examples:
            - REQUESTED
          type: string
        updatedAt:
          description: Last update timestamp (RFC 3339, UTC)
          examples:
            - '2026-06-14T12:00:00Z'
          type: string
      required:
        - id
        - endToEndId
        - requestedByISPB
        - amountCents
        - reason
        - status
        - reportStatus
        - 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
    RefundAccountResponse:
      additionalProperties: false
      properties:
        accountNumber:
          description: Destination account number
          examples:
            - '987654'
          type: string
        accountType:
          description: 'ISO 20022 account type: CACC, SVGS, TRAN, SLRY, or OTHR'
          examples:
            - CACC
          type: string
        branch:
          description: Destination account branch (optional)
          examples:
            - '0001'
          type: string
        participant:
          description: Destination account-holding participant ISPB
          examples:
            - '12345678'
          type: string
        taxIdNumber:
          description: Destination account holder tax id (CPF/CNPJ)
          examples:
            - '12345678909'
          type: string
      required:
        - taxIdNumber
        - participant
        - accountNumber
        - accountType
      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

````