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

# Listar o extrato da organização

> Créditos, débitos e estornos em ordem cronológica inversa. Envie cursor com o next_cursor anterior e mantenha os mesmos filtros. next_cursor ausente indica o fim; não interprete o conteúdo do cursor.



## OpenAPI

````yaml /api-reference/openapi.json get /v3/transactions
openapi: 3.1.2
info:
  title: API Base39
  version: 3.0.0
  description: >-
    Contratos canônicos Base39 compartilhados entre API e MCP. Campos de negócio
    em snake_case. Valores financeiros em centavos de BRL; montantes de dados
    consultados são textos decimais que preservam a precisão informada. Datas
    cadastrais usam YYYY-MM-DD. As consultas podem debitar o saldo; a repetição
    equivalente na organização é gratuita até meia-noite de São Paulo. O extrato
    informa o consumo. Campos ausentes não significam zero nem aprovação de
    crédito.
servers:
  - url: https://mcp.base39.com.br
    description: API pública Base39, independente do caminho do protocolo MCP.
security:
  - bearer_auth: []
tags:
  - name: Consultas
    description: Consultas canônicas de dados.
  - name: Modelos de relatórios
    description: Modelos de relatório e seus recursos na organização autenticada.
  - name: Saldo e pagamentos
    description: Saldo e extrato da organização autenticada.
paths:
  /v3/transactions:
    get:
      tags:
        - Saldo e pagamentos
      summary: Listar o extrato da organização
      description: >-
        Créditos, débitos e estornos em ordem cronológica inversa. Envie cursor
        com o next_cursor anterior e mantenha os mesmos filtros. next_cursor
        ausente indica o fim; não interprete o conteúdo do cursor.
      operationId: list_balance_transactions
      parameters:
        - name: from
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Início inclusivo em milissegundos UTC.
            type: integer
            minimum: 0
            maximum: 9007199254740991
          example: 1794240000000
        - name: to
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Fim exclusivo em milissegundos UTC.
            type: integer
            minimum: 0
            maximum: 9007199254740991
          example: 1794326400000
        - name: created_by
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Identificador do usuário autor da transação.
            type: string
            maxLength: 256
          example: user_example
        - name: kind
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Filtra créditos, débitos ou estornos.
            type: string
            enum:
              - credit
              - debit
              - reversal
          example: debit
        - name: operation
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Nome exato da operação de consulta.
            type: string
            maxLength: 256
          example: get_company
        - name: transaction_id
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: Identificador do lançamento financeiro.
            type: string
            maxLength: 256
          example: txn_example
        - name: cursor
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            description: next_cursor da página anterior, mantendo os mesmos filtros.
            type: string
            maxLength: 256
          example: txn_previous
        - name: limit
          in: query
          required: false
          schema:
            $schema: https://json-schema.org/draft/2020-12/schema
            default: 20
            description: Máximo de lançamentos por página.
            type: integer
            minimum: 1
            maximum: 100
          example: 20
      responses:
        '200':
          description: Página de lançamentos financeiros.
          headers:
            Request-Id:
              description: Identificador da requisição para suporte e rastreamento.
              schema:
                type: string
              example: req_example
            Cache-Control:
              description: >-
                As respostas autenticadas não devem ser armazenadas por serviços
                HTTP compartilhados.
              schema:
                type: string
                const: no-store
              example: no-store
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/transactions'
              examples:
                resposta:
                  summary: Exemplo de resposta Base39.
                  value:
                    object: list
                    data:
                      - object: balance_transaction
                        id: txn_example
                        workspace_id: org_example
                        created_by: user_example
                        idempotency_key: example
                        kind: debit
                        amount: 250
                        currency: BRL
                        reversal_of: null
                        operation_key: query:example
                        note: null
                        created_at: 1794243600000
                        query: null
                    next_cursor: txn_previous
        '400':
          $ref: '#/components/responses/error_400'
        '401':
          $ref: '#/components/responses/error_401'
        '403':
          $ref: '#/components/responses/error_403'
        '405':
          $ref: '#/components/responses/error_405'
        '503':
          $ref: '#/components/responses/error_503'
components:
  schemas:
    transactions:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        object:
          type: string
          const: list
          description: Coleção de lançamentos financeiros.
        data:
          type: array
          items:
            type: object
            properties:
              object:
                type: string
                const: balance_transaction
                description: Tipo do lançamento financeiro.
              id:
                type: string
                description: Identificador único do lançamento.
              workspace_id:
                type: string
                description: Organização proprietária do saldo.
              created_by:
                description: Usuário autor; nulo para estorno automático do sistema.
                type:
                  - string
                  - 'null'
              idempotency_key:
                type: string
                description: Chave que impede repetir o mesmo lançamento.
              kind:
                type: string
                enum:
                  - credit
                  - debit
                  - reversal
                description: Crédito, débito ou estorno integral de um débito.
              amount:
                type: integer
                exclusiveMinimum: 0
                maximum: 9007199254740991
                description: Valor positivo em centavos de real.
              currency:
                type: string
                const: BRL
                description: 'Moeda da transação: real brasileiro (BRL).'
              reversal_of:
                description: Débito original estornado por este lançamento.
                type:
                  - string
                  - 'null'
              operation_key:
                description: Referência da operação de negócio.
                type:
                  - string
                  - 'null'
              note:
                description: Observação do lançamento.
                type:
                  - string
                  - 'null'
              created_at:
                type: integer
                minimum: -9007199254740991
                maximum: 9007199254740991
                description: Instante do lançamento em milissegundos UTC.
              request:
                default: null
                description: >-
                  Origem do lançamento; nula em registros anteriores ao
                  rastreamento.
                anyOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        description: >-
                          Identificador Base39 da chamada que originou o
                          lançamento.
                      channel:
                        type: string
                        enum:
                          - api
                          - mcp
                        description: Canal da chamada original.
                      api_key_id:
                        description: >-
                          Identificador da chave utilizada; nunca contém o
                          segredo.
                        type:
                          - string
                          - 'null'
                      client_id:
                        description: Aplicação OAuth autenticada, quando disponível.
                        type:
                          - string
                          - 'null'
                      mcp_request_id:
                        description: Identificador original da chamada MCP.
                        type:
                          - string
                          - number
                          - 'null'
                    required:
                      - id
                      - channel
                      - api_key_id
                      - client_id
                      - mcp_request_id
                  - type: 'null'
              query:
                anyOf:
                  - type: object
                    properties:
                      id:
                        type: string
                        description: Identificador da consulta concluída.
                      operation:
                        description: >-
                          Consulta Base39 executada; nulo quando indisponível no
                          histórico.
                        type:
                          - string
                          - 'null'
                      arguments:
                        anyOf:
                          - type: object
                            propertyNames:
                              type: string
                            additionalProperties:
                              $ref: '#/components/schemas/json_value'
                          - type: 'null'
                        description: >-
                          Parâmetros da consulta; nulo quando ausentes no
                          histórico legado.
                      channel:
                        anyOf:
                          - type: string
                            enum:
                              - mcp
                              - api
                          - type: 'null'
                        description: >-
                          Canal da compra original; nulo quando ausente no
                          histórico legado.
                      expires_at:
                        type: integer
                        minimum: -9007199254740991
                        maximum: 9007199254740991
                        description: Fim do acesso diário em milissegundos UTC.
                    required:
                      - id
                      - operation
                      - arguments
                      - channel
                      - expires_at
                  - type: 'null'
                description: Consulta concluída paga por este lançamento, quando existir.
            required:
              - object
              - id
              - workspace_id
              - created_by
              - idempotency_key
              - kind
              - amount
              - currency
              - reversal_of
              - operation_key
              - note
              - created_at
              - query
          description: Lançamentos financeiros da página.
        next_cursor:
          description: >-
            Cursor opaco da próxima página; ausente quando não houver
            continuação.
          type: string
      required:
        - object
        - data
    json_value:
      $schema: https://json-schema.org/draft/2020-12/schema
      anyOf:
        - type: string
        - type: number
        - type: boolean
        - type: 'null'
        - type: array
          items:
            $ref: '#/components/schemas/json_value'
        - type: object
          propertyNames:
            type: string
          additionalProperties:
            $ref: '#/components/schemas/json_value'
    error:
      $schema: https://json-schema.org/draft/2020-12/schema
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - invalid_request_error
                - authentication_error
                - permission_error
                - balance_error
                - api_error
              description: Categoria estável da falha.
            code:
              type: string
              pattern: ^[a-z][a-z0-9_]*$
              description: Código estável da falha para tratamento pela aplicação.
            message:
              type: string
              description: Descrição da falha em português brasileiro.
            param:
              description: Parâmetro relacionado à falha, quando aplicável.
              type: string
          required:
            - type
            - code
            - message
          additionalProperties: false
          description: Falha que impediu a operação.
      required:
        - error
      additionalProperties: false
  responses:
    error_400:
      description: Parâmetros inválidos.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Parâmetros inválidos.
              value:
                error:
                  type: invalid_request_error
                  code: invalid_request
                  message: Revise os parâmetros da requisição.
    error_401:
      description: Autenticação ausente ou inválida.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Autenticação ausente ou inválida.
              value:
                error:
                  type: authentication_error
                  code: unauthorized
                  message: Autenticação necessária.
    error_403:
      description: Acesso não permitido.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Acesso não permitido.
              value:
                error:
                  type: permission_error
                  code: forbidden
                  message: Acesso não permitido.
    error_405:
      description: Método HTTP não permitido.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Método HTTP não permitido.
              value:
                error:
                  type: invalid_request_error
                  code: method_not_allowed
                  message: Método HTTP não permitido para esta operação.
    error_503:
      description: Serviço temporariamente indisponível.
      headers:
        Request-Id:
          description: Identificador da requisição para suporte e rastreamento.
          schema:
            type: string
          example: req_example
        Cache-Control:
          description: >-
            As respostas autenticadas não devem ser armazenadas por serviços
            HTTP compartilhados.
          schema:
            type: string
            const: no-store
          example: no-store
        Retry-After:
          description: Tempo em segundos antes de uma nova tentativa.
          schema:
            type: integer
            minimum: 1
          example: 2
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
          examples:
            erro:
              summary: Serviço temporariamente indisponível.
              value:
                error:
                  type: api_error
                  code: query_unavailable
                  message: Não foi possível concluir a consulta.
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: >-
        Credencial OAuth da Base39 com os escopos profile e user:org:read, ou
        chave de API pertencente à organização. A organização e o autor são
        obtidos da autenticação.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.