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

# Cancelar uma Transação Pendente

> Use este endpoint para cancelar uma transação pendente que foi previamente criada e colocada em espera. Somente transações com status PENDING podem ser canceladas; cancelar uma transação em qualquer outro status retorna 422 (ErrCommitTransactionNotPending, código 0099).



## OpenAPI

````yaml pt/openapi/v3-current/ledger.yaml post /v1/organizations/{organization_id}/ledgers/{ledger_id}/transactions/{transaction_id}/cancel
openapi: 3.1.0
info:
  title: API Midaz Ledger
  description: >-
    Referência completa da API para serviços do Midaz Ledger incluindo
    gerenciamento de organizações, operações de ledger, ativos, segmentos,
    portfolios, contas, tipos de conta, transações, operações, saldos, rotas de
    operação, rotas de transação e índices de metadata.
  version: 3.7.8
servers:
  - url: https://ledger.sandbox.lerian.net
security: []
tags:
  - name: API de Organizações
  - name: API de Ledgers
  - name: API de Ativos
  - name: API de Segmentos
  - name: API de Portfolios
  - name: API de Tipos de Conta
  - name: API de Contas
  - name: API de Saldos
  - name: API de Transações
  - name: API de Operações
  - name: API de Rotas de Operação
  - name: API de Rotas de Transação
  - name: API de Índices de Metadata
  - name: API de Titulares
  - name: API de Instrumentos
  - name: API de Pacotes de Cobrança
  - name: API de Pacotes
  - name: API de Cálculo de Cobrança
  - name: API de Estimativa
  - name: API de Criptografia
  - name: API de Proteção
  - name: API de Taxas de Ativos
paths:
  /v1/organizations/{organization_id}/ledgers/{ledger_id}/transactions/{transaction_id}/cancel:
    post:
      tags:
        - API de Transações
      summary: Cancelar uma Transação Pendente
      description: >-
        Use este endpoint para cancelar uma transação pendente que foi
        previamente criada e colocada em espera. Somente transações com status
        PENDING podem ser canceladas; cancelar uma transação em qualquer outro
        status retorna 422 (ErrCommitTransactionNotPending, código 0099).
      parameters:
        - $ref: '#/components/parameters/OrganizationId'
        - $ref: '#/components/parameters/LedgerId'
        - $ref: '#/components/parameters/TransactionId'
      responses:
        '201':
          description: >-
            Indica que a requisição foi bem-sucedida e a resposta contém os
            dados esperados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTransactionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0009:
                  $ref: '#/components/examples/Error0009'
                Error0032:
                  $ref: '#/components/examples/Error0032'
                Error0047:
                  $ref: '#/components/examples/Error0047'
                Error0067:
                  $ref: '#/components/examples/Error0067'
        '401':
          description: Não autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0041:
                  $ref: '#/components/examples/Error0041'
                Error0042:
                  $ref: '#/components/examples/Error0042'
        '403':
          description: Proibido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0043:
                  $ref: '#/components/examples/Error0043'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0007:
                  $ref: '#/components/examples/Error0007'
        '422':
          description: >-
            Não processável — a transação não está com status PENDING e não pode
            ser cancelada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0099:
                  $ref: '#/components/examples/Error0099'
        '500':
          description: Erro Interno do Servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0046:
                  $ref: '#/components/examples/Error0046'
components:
  parameters:
    OrganizationId:
      name: organization_id
      in: path
      description: O identificador único da Organização associada ao Ledger.
      required: true
      example: 019c96a0-0a98-7287-9a31-786e0809c769
      schema:
        type: string
        format: uuid
    LedgerId:
      name: ledger_id
      in: path
      description: O identificador único do Ledger associado.
      required: true
      example: 019c96a0-0ac0-7de9-9f53-9cf842a2ee5a
      schema:
        type: string
        format: uuid
    TransactionId:
      name: transaction_id
      in: path
      description: O identificador único da transação que você deseja consultar.
      required: true
      example: 019c96a0-10ce-75fc-a273-dc799079a99c
      schema:
        type: string
        format: uuid
  schemas:
    CreateTransactionResponse:
      type: object
      properties:
        id:
          type: string
          description: O identificador único da transação.
          format: uuid
        parentTransactionId:
          type: string
          description: >-
            O identificador único da transação pai/original para reversões. Este
            campo é preenchido pelo servidor quando uma transação é revertida e
            deve ser tratado como somente leitura pelos clientes.
          format: uuid
          nullable: true
        organizationId:
          type: string
          format: uuid
          description: O identificador único da Organização.
        ledgerId:
          type: string
          description: O identificador único do Ledger.
          format: uuid
        description:
          type: string
          description: Descrição da transação.
        route:
          type: string
          description: Especifica a Rota de Transação associada à transação.
        routeId:
          type: string
          format: uuid
          description: >-
            O identificador único da Rota de Transação aplicada a esta
            transação.
        status:
          type: object
          description: O status da transação (pendente, concluída, revertida).
          properties:
            code:
              type: string
              description: Código de status da transação.
            description:
              type: string
              description: Descrição do status da transação.
        amount:
          type: string
          description: O valor enviado.
        assetCode:
          type: string
          description: O nome do ativo utilizado na operação.
        chartOfAccountsGroupName:
          type: string
          description: O nome do grupo do plano de contas.
        source:
          type: array
          description: A lista de contas utilizadas como origem.
          items:
            type: string
        destination:
          type: array
          description: A lista de contas utilizadas como destino.
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          description: Data e hora de criação (UTC).
        updatedAt:
          type: string
          format: date-time
          description: Data e hora da última atualização (UTC).
        deletedAt:
          type: string
          format: date-time
          description: Data e hora da exclusão lógica, se aplicável (UTC).
          nullable: true
        operations:
          type: array
          items:
            $ref: '#/components/schemas/OperationResponse'
        metadata:
          $ref: '#/components/schemas/Metadata'
    ErrorFormat:
      type: object
      description: A mensagem de erro da resposta.
      required:
        - code
        - title
        - message
      properties:
        code:
          type: string
          description: Um identificador único e estável para o erro.
        title:
          type: string
          description: Um breve resumo do problema.
        message:
          type: string
          description: Orientação detalhada para resolver o erro.
        entityType:
          type: string
          description: >-
            O tipo de entidade ao qual o erro se refere (por exemplo,
            organization, ledger, account, transaction). Opcional.
        fields:
          type: object
          additionalProperties: true
          description: Informações adicionais sobre os campos que causaram o erro.
    OperationResponse:
      type: object
      properties:
        id:
          type: string
          description: O identificador único da Operação.
          format: uuid
        transactionId:
          type: string
          format: uuid
          description: O identificador único da Transação.
        organizationId:
          type: string
          format: uuid
          description: O identificador único da Organização.
        ledgerId:
          type: string
          description: O identificador único do Ledger.
          format: uuid
        accountId:
          type: string
          description: O identificador único da Conta.
          format: uuid
        accountAlias:
          type: string
          description: O alias da conta utilizada na operação.
        balanceId:
          type: string
          description: O identificador único do Saldo.
        balanceKey:
          type: string
          description: O identificador chave do Saldo.
        description:
          type: string
          description: Uma descrição para a operação.
        type:
          type: string
          description: >-
            O tipo da operação. `OVERDRAFT` identifica operações companion
            geradas pelo sistema no saldo interno `"overdraft"` — `direction`
            carrega então a semântica do ciclo de vida (`debit` para um draw,
            `credit` para um reembolso). `BLOCK` e `UNBLOCK` identificam
            operações produzidas pelos endpoints de transação de block/unblock;
            `direction` continua carregando a semântica de débito/crédito.
          enum:
            - CREDIT
            - DEBIT
            - ON_HOLD
            - RELEASE
            - OVERDRAFT
            - BLOCK
            - UNBLOCK
        assetCode:
          type: string
          description: O código que identifica o ativo enviado.
        chartOfAccounts:
          type: string
          description: O nome do Plano de Contas ao qual a operação pertence.
        route:
          type: string
          deprecated: true
          description: >-
            **Obsoleto.** Use `routeId` no lugar. Será removido na próxima
            versão major.
        routeId:
          type: string
          format: uuid
          description: >-
            O identificador único da rota de operação associada a esta operação.
            Operações companion de overdraft herdam esse valor da operação
            primária que as gerou.
        routeCode:
          type: string
          maxLength: 100
          description: >-
            Um código legível da rota de operação, útil para auditoria e
            rastreabilidade.
        routeDescription:
          type: string
          description: A descrição da rota de operação associada a esta operação.
        direction:
          type: string
          enum:
            - debit
            - credit
          description: A direção da operação na contabilidade de partida dobrada.
        amount:
          type: object
          description: Um objeto contendo informações sobre o valor utilizado na operação.
          properties:
            value:
              type: string
              description: O valor que será enviado.
        balance:
          type: object
          description: Um objeto contendo informações sobre o saldo antes da operação.
          properties:
            available:
              type: string
              description: Saldo disponível anterior.
            onHold:
              type: string
              description: Valor retido/reservado.
            version:
              type: integer
              description: Versão do saldo, que é atualizada a cada transação.
            overdraftUsed:
              type: string
              description: >-
                O overdraft consumido por este saldo antes da operação, como
                string decimal. `"0"` para operações que não tocam o overdraft.
        balanceAfter:
          type: object
          description: Um objeto contendo informações sobre o saldo após a operação.
          properties:
            available:
              type: string
              description: Saldo disponível atual.
            onHold:
              type: string
              description: Valor retido/reservado.
            version:
              type: integer
              description: Versão do saldo, que é atualizada a cada transação.
            overdraftUsed:
              type: string
              description: >-
                O overdraft consumido por este saldo após a operação, como
                string decimal. `"0"` para operações que não tocam o overdraft.
        status:
          type: object
          description: O status da transação (pendente, concluída, revertida).
          properties:
            code:
              type: string
              description: Código de status da transação.
            description:
              type: string
              description: Descrição do status da transação.
              nullable: true
        balanceAffected:
          type: boolean
          description: Indica se a operação teve impacto no saldo da conta.
        createdAt:
          type: string
          format: date-time
          description: Data e hora de criação (UTC).
        updatedAt:
          type: string
          format: date-time
          description: Data e hora da última atualização (UTC).
        deletedAt:
          type: string
          format: date-time
          description: Data e hora da exclusão lógica, se aplicável (UTC).
          nullable: true
        metadata:
          $ref: '#/components/schemas/Metadata'
    Metadata:
      type: object
      additionalProperties:
        oneOf:
          - type: string
            maxLength: 2000
          - type: number
          - type: boolean
      description: >-
        Um objeto contendo pares de chave-valor para adicionar como metadata,
        onde o campo `name` é a chave e o campo `value` é o valor. Por exemplo,
        para adicionar um Centro de Custo, use `'costCenter': 'BR_11101997'`.


        **Restrições:** as chaves devem ter no máximo 100 caracteres; valores de
        string no máximo 2000 caracteres. Objetos aninhados não são permitidos
        (os valores devem ser string, número ou booleano), a estrutura não pode
        exceder uma profundidade máxima de 10, e é permitido um máximo de 100
        chaves.
  examples:
    Error0009:
      summary: Missing Fields in Request
      value:
        code: '0009'
        title: Missing Fields in Request
        message: >-
          Your request is missing one or more required fields. Please refer to
          the documentation to ensure all necessary fields are included in your
          request.
        fields:
          metadataKey: metadataKey is a required field
    Error0032:
      value:
        code: '0032'
        title: Invalid Country Code
        message: >-
          The provided country code in the 'address.country' field does not
          conform to the ISO-3166 alpha-2 standard. Please provide a valid
          alpha-2 country code.
      summary: Invalid Country Code
    Error0047:
      summary: Bad Request
      value:
        code: '0047'
        title: Bad Request
        message: >-
          The server could not understand the request due to malformed syntax.
          Please check the listed fields and try again.
    Error0067:
      value:
        code: '0067'
        title: Invalid Metadata Nesting
        message: >-
          The metadata object cannot contain nested values. Please ensure that
          the value {{value}} is not nested and try again.
      summary: Invalid Metadata Nesting
    Error0041:
      summary: Token Missing
      value:
        code: '0041'
        title: Token Missing
        message: >-
          A valid token must be provided in the request header. Please include a
          token and try again.
    Error0042:
      summary: Invalid Token
      value:
        code: '0042'
        title: Invalid Token
        message: >-
          The provided token is expired, invalid or malformed. Please provide a
          valid token and try again.
    Error0043:
      summary: Insufficient Privileges
      value:
        code: '0043'
        title: Insufficient Privileges
        message: >-
          You do not have the necessary permissions to perform this action.
          Please contact your administrator if you believe this is an error.
    Error0007:
      value:
        code: '0007'
        title: Entity Not Found
        message: >-
          No entity was found for the given ID. Please make sure to use the
          correct ID for the entity you are trying to manage.
      summary: Entity Not Found
    Error0099:
      value:
        code: '0099'
        title: Invalid Transaction Status
        message: >-
          The transaction status does not allow the requested action. Only
          transactions in PENDING status can be committed or cancelled. Please
          check the transaction status.
      summary: Invalid Transaction Status
    Error0046:
      summary: Internal Server Error
      value:
        code: '0046'
        title: Internal Server Error
        message: >-
          The server encountered an unexpected error. Please try again later or
          contact support.

````