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

# Listar Validações de Transações

> Use este endpoint para listar registros de validação de transações com paginação baseada em cursor e filtros. Útil para relatórios de conformidade e análise de tendências.



## OpenAPI

````yaml pt/openapi/v3-current/tracer.yaml get /v1/validations
openapi: 3.1.0
info:
  title: API Tracer
  description: >-
    Referência completa da API para os serviços do Tracer, incluindo validação
    de transações, gerenciamento de regras, limites de gastos e eventos de
    auditoria para conformidade SOX/GLBA.
  version: 1.0.1
servers:
  - url: https://tracer.sandbox.lerian.net
security:
  - ApiKeyAuth: []
  - BearerAuth: []
tags:
  - name: Health API
    description: >-
      Endpoints de verificação de integridade para sondas de vivacidade e
      prontidão. Estes endpoints não requerem autenticação.
  - name: Validations API
    description: >-
      Endpoints de validação de transações. A meta de desempenho é inferior a
      80ms (p99). As validações são idempotentes por `requestId` — uma
      requisição duplicada retorna o resultado em cache com HTTP 200, enquanto
      uma requisição nova retorna HTTP 201. Nenhum header de idempotência é
      necessário.
  - name: Rules API
    description: >-
      Endpoints de gerenciamento de regras de validação. As regras utilizam
      expressões CEL (Common Expression Language).
  - name: Limits API
    description: >-
      Endpoints de gerenciamento de limites de gastos. Os limites controlam os
      valores das transações por escopo e período.
  - name: Reservations API
    description: >-
      Endpoints de reserva de capacidade de transação em duas fases. Uma reserva
      retém capacidade contra os limites de gastos; uma confirmação a consolida
      e uma liberação a devolve. Confirmar e liberar são idempotentes.
  - name: Audit Events API
    description: >-
      Endpoints de trilha de auditoria para conformidade SOX/GLBA. Todas as
      decisões de validação e alterações de configuração são registradas.
paths:
  /v1/validations:
    get:
      tags:
        - Validations API
      summary: Listar Validações de Transações
      description: >-
        Use este endpoint para listar registros de validação de transações com
        paginação baseada em cursor e filtros. Útil para relatórios de
        conformidade e análise de tendências.
      operationId: listValidations
      parameters:
        - $ref: '#/components/parameters/ContentType'
        - $ref: '#/components/parameters/XApiKey'
        - $ref: '#/components/parameters/XRequestId'
        - name: limit
          in: query
          description: >-
            O número máximo de itens a incluir na resposta. Padrão: 100, Máx:
            1000
          required: false
          example: 100
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
        - name: cursor
          in: query
          description: >-
            Cursor de paginação da resposta anterior. Ao usar cursor, sortBy e
            sortOrder não podem ser alterados.
          required: false
          schema:
            type: string
        - name: sort_by
          in: query
          description: O campo usado para ordenar os resultados.
          required: false
          example: created_at
          schema:
            type: string
            enum:
              - created_at
              - processing_time_ms
            default: created_at
        - name: sort_order
          in: query
          description: A ordem usada para ordenar os resultados.
          required: false
          example: DESC
          schema:
            type: string
            enum:
              - ASC
              - DESC
            default: DESC
        - name: start_date
          in: query
          description: >-
            Filtrar a partir desta data (inclusivo). Deve estar no formato
            RFC3339 com fuso horário. O padrão é 90 dias antes do horário atual.
          required: false
          example: '2026-01-01T00:00:00Z'
          schema:
            type: string
            format: date-time
        - name: end_date
          in: query
          description: >-
            Filtrar até esta data (exclusivo). Deve estar no formato RFC3339 com
            fuso horário. O padrão é o horário atual.
          required: false
          example: '2026-01-31T23:59:59Z'
          schema:
            type: string
            format: date-time
        - name: decision
          in: query
          description: Filtrar por decisão (ALLOW, DENY, REVIEW).
          required: false
          schema:
            type: string
            enum:
              - ALLOW
              - DENY
              - REVIEW
        - name: account_id
          in: query
          description: Filtrar por ID da conta (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: matched_rule_id
          in: query
          description: Filtrar por ID da regra correspondente (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: exceeded_limit_id
          in: query
          description: Filtrar por ID do limite excedido (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: segment_id
          in: query
          description: Filtrar por ID do segmento (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: portfolio_id
          in: query
          description: Filtrar por ID do portfólio (UUID).
          required: false
          schema:
            type: string
            format: uuid
        - name: transaction_type
          in: query
          description: Filtrar por tipo de transação.
          required: false
          schema:
            type: string
            enum:
              - CARD
              - WIRE
              - PIX
              - CRYPTO
      responses:
        '200':
          description: >-
            Indica que a requisição foi bem-sucedida e a resposta contém os
            dados esperados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListValidationsResponse'
              example:
                transactionValidations:
                  - validationId: 019c96a0-10d2-7193-8841-0d7347efd09a
                    accountId: 019c96a0-0c0c-7221-8cf3-13313fb60081
                    segmentId: 019c96a0-0b4e-7079-8be0-ab6bdccf975f
                    transactionType: CARD
                    amount: '1500.00'
                    currency: BRL
                    decision: ALLOW
                    reason: Transaction approved
                    matchedRuleIds: []
                    exceededLimitIds: []
                    processingTimeMs: 23
                    createdAt: '2026-01-30T10:30:00Z'
                hasMore: true
                nextCursor: eyJpZCI6IjEyMzQifQ==
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0006:
                  $ref: '#/components/examples/Error0006'
                Error0020:
                  $ref: '#/components/examples/Error0020'
                Error0044:
                  $ref: '#/components/examples/Error0044'
                Error0045:
                  $ref: '#/components/examples/Error0045'
                Error0250:
                  $ref: '#/components/examples/Error0250'
        '401':
          description: Não Autorizado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                ErrorUnauthenticated:
                  $ref: '#/components/examples/ErrorUnauthenticated'
        '500':
          description: Erro Interno do Servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0004:
                  $ref: '#/components/examples/Error0004'
        '504':
          description: >-
            Gateway Timeout — emitido apenas quando a consulta excede seu
            deadline server-side (tipicamente só sob fault injection ou latência
            extrema de banco; não é comum em operação normal).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorFormat'
              examples:
                Error0252:
                  $ref: '#/components/examples/Error0252'
components:
  parameters:
    ContentType:
      name: Content-Type
      in: header
      description: O tipo de mídia do recurso. Deve ser `application/json`.
      required: true
      example: application/json
      schema:
        type: string
    XApiKey:
      name: X-API-Key
      in: header
      description: >-
        A chave de API para autenticação. **Este header é obrigatório para todos
        os endpoints, exceto verificações de integridade**.
      required: true
      schema:
        type: string
    XRequestId:
      name: X-Request-Id
      in: header
      description: Um identificador único usado para rastrear cada requisição.
      required: false
      example: 019c96a0-10ce-75fc-a273-dc799079a99c
      schema:
        type: string
        format: uuid
  schemas:
    ListValidationsResponse:
      type: object
      description: >-
        Lista paginada de validações de transações (retorna `ValidationSummary`
        — uma forma achatada e otimizada para listagem, com menos campos que
        `TransactionValidation`).
      properties:
        transactionValidations:
          type: array
          items:
            $ref: '#/components/schemas/ValidationSummary'
          description: Lista de registros de validação de transações.
        hasMore:
          type: boolean
          description: Se há mais resultados disponíveis.
        nextCursor:
          type:
            - string
            - 'null'
          description: >-
            Cursor para buscar a próxima página. Nulo se não houver mais
            resultados.
    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.
        fields:
          type: object
          additionalProperties: true
          description: Informações adicionais sobre os campos que causaram o erro.
    ValidationSummary:
      type: object
      description: >-
        Representação achatada e otimizada para listagem de uma validação de
        transação. Retornada por `GET /v1/validations` e contém um subconjunto
        dos campos de `TransactionValidation` — payload da requisição e detalhes
        de auditoria (`requestId`, `metadata`, `evaluatedRuleIds`,
        `limitUsageDetails`) estão disponíveis apenas via `GET
        /v1/validations/{id}`.
      properties:
        validationId:
          type: string
          format: uuid
          description: Identificador único desta validação.
        decision:
          type: string
          enum:
            - ALLOW
            - DENY
            - REVIEW
          description: A decisão retornada para a transação validada.
        reason:
          type: string
          description: >-
            Explicação legível da decisão. Para validações sem correspondência
            de regras, o valor literal é `No matching rules found`.
        amount:
          type: string
          description: 'Valor da transação como string decimal (ex.: `"1500.00"`).'
        currency:
          type: string
          description: Código de moeda ISO 4217 (em maiúsculas).
        transactionType:
          type: string
          enum:
            - CARD
            - WIRE
            - PIX
            - CRYPTO
          description: Tipo da transação.
        accountId:
          type: string
          format: uuid
          description: A conta que originou a transação. Campo achatado, não aninhado.
        segmentId:
          type:
            - string
            - 'null'
          format: uuid
          description: Escopo de segmento da transação, se aplicável. Omitido quando nulo.
        portfolioId:
          type:
            - string
            - 'null'
          format: uuid
          description: Escopo de portfólio da transação, se aplicável. Omitido quando nulo.
        matchedRuleIds:
          type: array
          items:
            type: string
            format: uuid
          description: IDs das regras que corresponderam e contribuíram para a decisão.
        exceededLimitIds:
          type: array
          items:
            type: string
            format: uuid
          description: IDs dos limites que foram excedidos.
        processingTimeMs:
          type: number
          format: double
          description: Tempo de processamento em milissegundos.
        createdAt:
          type: string
          format: date-time
          description: Quando o registro de validação foi criado.
  examples:
    Error0006:
      summary: Invalid Query Parameters
      value:
        code: TRC-0006
        title: Invalid Query Parameters
        message: >-
          One or more query parameters are invalid. Please verify the parameters
          and try again.
    Error0020:
      summary: Invalid Date Format
      value:
        code: TRC-0020
        title: Invalid Date Format
        message: >-
          The date must be in RFC3339 format with timezone (e.g.,
          2026-01-28T10:30:00Z). Date-only format is not accepted.
    Error0044:
      summary: Invalid Pagination Cursor
      value:
        code: TRC-0044
        title: Invalid Pagination Cursor
        message: >-
          The provided pagination cursor is invalid or expired. Please start a
          new query without a cursor.
    Error0045:
      summary: Sort Parameters Locked
      value:
        code: TRC-0045
        title: Sort Parameters Locked
        message: >-
          Cannot change sortBy or sortOrder when using a pagination cursor.
          Please start a new query to change sort parameters.
    Error0250:
      summary: Invalid Transaction Validation Filters
      value:
        code: TRC-0250
        title: Invalid Filters
        message: >-
          One or more transaction validation filters are invalid. Please verify
          the filter values and try again.
    ErrorUnauthenticated:
      summary: Unauthorized
      value:
        code: Unauthenticated
        title: Unauthorized
        message: >-
          API Key missing or invalid. Provide a valid API Key in the X-API-Key
          header.
    Error0004:
      summary: Internal Server Error
      value:
        code: TRC-0004
        title: Internal Server Error
        message: >-
          An unexpected error occurred. Please try again later or contact
          support if the issue persists.
    Error0252:
      summary: Query Timeout
      value:
        code: TRC-0252
        title: Gateway Timeout
        message: >-
          The query exceeded the allowed timeout. Please refine the filters to
          reduce the query scope.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Autenticação por API Key. Usada por implantações single-tenant
        (`MULTI_TENANT_ENABLED=false`). Enviada em todas as requisições `/v1/*`.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Autenticação JWT bearer. Usada por implantações multi-tenant
        (`MULTI_TENANT_ENABLED=true`). O JWT é emitido pelo Access Manager e
        deve conter o claim `tenantId` — o Tracer resolve o tenant a partir do
        token, não de qualquer cabeçalho ou campo do corpo.

````