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

# Buscar transações

> Lista transacoes paginadas com filtros por empresa, cliente, status, periodo, cartao e mensagem. O retorno inclui dados parciais de cliente e produto quando disponiveis.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/transaction
openapi: 3.1.1
info:
  title: Veepag API
  description: >-
    API publica da Veepag para transacoes, clientes, assinaturas, produtos,
    cobrancas e alertas.


    Autentique as chamadas com o header `apiKey` no formato `keyId.secret` ou
    com o header `token` contendo um JWT valido.

    Use o ambiente de sandbox para testes e producao apenas depois da
    homologacao.
  version: 1.0.0
  contact: {}
servers:
  - url: https://sandbox.api.veepag.com
    description: Sandbox
  - url: https://api.veepag.com
    description: Produção
security:
  - api_key: []
  - token: []
tags:
  - name: Transaction
    description: >-
      Pagamentos avulsos, captura, cancelamento, consulta e exportacao de
      transacoes.
  - name: Client
    description: Cadastro, atualizacao e consulta de clientes.
  - name: Subscription
    description: Criacao, consulta, atualizacao e cancelamento de assinaturas.
  - name: Product
    description: Configuracao de produtos, precos e regras de cobranca.
  - name: Charge
    description: Criacao, pagamento, cancelamento e conciliacao de cobrancas.
  - name: Alert
    description: Consulta e tratamento de alertas Ethoca/Visa.
paths:
  /v1/transaction:
    get:
      tags:
        - Transaction
      summary: Buscar transações
      description: >-
        Lista transacoes paginadas com filtros por empresa, cliente, status,
        periodo, cartao e mensagem. O retorno inclui dados parciais de cliente e
        produto quando disponiveis.
      operationId: TransactionController_findTransactions
      parameters:
        - name: endLastUpdate
          required: false
          in: query
          description: 'End date for last update filter (format: ISO date)'
          schema:
            type: string
            format: date-time
        - name: startLastUpdate
          required: false
          in: query
          description: 'Start date for last update filter (format: ISO date)'
          schema:
            type: string
            format: date-time
        - name: endDate
          required: false
          in: query
          description: 'End date filter (format: ISO date)'
          schema:
            type: string
            format: date-time
        - name: startDate
          required: false
          in: query
          description: 'Start date filter (format: ISO date)'
          schema:
            type: string
            format: date-time
        - name: page
          required: false
          in: query
          description: Page number (starting at 1)
          schema:
            type: integer
            minimum: 1
            default: 1
            example: 1
        - name: limit
          required: false
          in: query
          description: Max items per page (1-100)
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
            example: 20
        - name: sort.order
          required: false
          in: query
          description: Sort direction (asc|desc)
          schema:
            type: string
            enum:
              - asc
              - desc
            default: desc
            example: desc
        - name: sort.property
          required: false
          in: query
          description: Sort field (createdAt|lastUpdate)
          schema:
            type: string
            enum:
              - createdAt
              - lastUpdate
            default: createdAt
            example: createdAt
        - name: rangeTime.end
          required: false
          in: query
          description: Range end (ISO string). Used with sort.type.
          schema:
            type: string
            format: date-time
            example: '2026-06-23T23:59:59.999Z'
        - name: rangeTime.start
          required: false
          in: query
          description: Range start (ISO string). Used with sort.type.
          schema:
            type: string
            format: date-time
            example: '2026-06-01T00:00:00.000Z'
        - name: message
          required: false
          in: query
          description: Message contains (case-insensitive)
          schema:
            type: string
            description: Busca parcial case-insensitive.
        - name: cardLast4
          required: false
          in: query
          description: Last 4 digits of the card
          schema:
            type: string
            minLength: 4
            maxLength: 4
            example: '1111'
        - name: cardFirst6
          required: false
          in: query
          description: First 6 digits of the card (BIN)
          schema:
            type: string
            minLength: 6
            maxLength: 6
            example: '411111'
        - name: status
          required: false
          in: query
          description: Transaction status
          schema:
            type: array
            items:
              type: string
        - name: clientDoc
          required: false
          in: query
          description: Client document
          schema:
            type: string
            description: Documento do cliente, CPF ou CNPJ.
        - name: clientId
          required: false
          in: query
          description: Client ID
          schema:
            type: string
        - name: subscriptionId
          required: false
          in: query
          description: Subscription ID
          schema:
            type: string
        - name: tid
          required: false
          in: query
          description: Transaction TID
          schema:
            type: string
        - name: id
          required: false
          in: query
          description: Transaction ID
          schema:
            type: string
        - name: companyId
          required: true
          in: query
          description: Company ID
          schema:
            type: string
            example: company_id
      responses:
        '200':
          description: Transacoes paginadas.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedResponse'
              example:
                items: []
                has_more: false
                limit: 20
                total_pages: 1
                page: 1
                total: 0
                query_count: 0
        '400':
          description: Validation error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error_messages:
                  - msg: Payload invalido.
                    type: field
                    path: companyId
                    location: body
                code: ZodValidationException
                path: /v1/transaction
                metadata: {}
        '401':
          description: Credencial ausente ou invalida.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error_messages:
                  - msg: Unauthorized.
                code: unauthorized
                path: /v1/transaction
                metadata: {}
        '403':
          description: Credencial sem acesso ao recurso ou empresa solicitada.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error_messages:
                  - msg: Forbidden.
                code: forbidden
                path: /v1/transaction
                metadata: {}
        '500':
          description: Erro interno nao mapeado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error_messages:
                  - msg: Unknown server error.
                code: unknown_server_error
                path: /v1/transaction
                metadata: {}
      security:
        - api_key: []
        - token: []
components:
  schemas:
    PaginatedResponse:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
            additionalProperties: true
        has_more:
          type: boolean
          example: false
        limit:
          type: integer
          example: 20
        total_pages:
          type: integer
          example: 1
        page:
          type: integer
          example: 1
        total:
          type: integer
          example: 0
        query_count:
          type: integer
          example: 0
    ErrorResponse:
      type: object
      properties:
        error_messages:
          type: array
          items:
            $ref: '#/components/schemas/ErrorMessage'
        code:
          type: string
          example: unauthorized
        path:
          type: string
          example: /v1/transaction
        metadata:
          type: object
          additionalProperties: true
    ErrorMessage:
      type: object
      properties:
        msg:
          type: string
          example: Unauthorized.
        type:
          type: string
          example: field
        path:
          type: string
          example: companyId
        location:
          type: string
          example: body
  securitySchemes:
    api_key:
      type: apiKey
      in: header
      name: apiKey
      description: API key no formato keyId.secret.
    token:
      type: apiKey
      in: header
      name: token
      description: JWT valido. O token confirmado na codebase tem validade de 14 dias.

````