> ## Documentation Index
> Fetch the complete documentation index at: https://api-reference.hyperswitch.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Preview Trace

> ClickHouse-backed rule preview trace read endpoint.



## OpenAPI

````yaml decision_engine_openapi-specs.json GET /analytics/preview-trace
openapi: 3.1.0
info:
  title: Decision Engine
  description: >-
    Open-source payment gateway routing service by Juspay. Selects the optimal
    payment processor for each transaction in real-time using success-rate
    scoring, rule-based routing, and elimination logic.


    ## Authentication


    This API supports two authentication methods:


    1. **JWT Bearer Token** - For dashboard/user sessions
       - Header: `Authorization: Bearer <jwt_token>`
       - Obtain via `/auth/login` endpoint

    2. **API Key** - For service-to-service/programmatic access
       - Header: `x-api-key: DE_<64_char_hex>`
       - Create via `/api-key/create` endpoint

    Protected endpoints require one of these authentication methods.
  version: 1.4.0
  contact:
    name: Juspay
    url: https://github.com/juspay/decision-engine
  license:
    name: AGPL-3.0
    url: https://www.gnu.org/licenses/agpl-3.0.html
servers:
  - url: http://localhost:8080
    description: Local development
  - url: https://sandbox.hyperswitch.io
    description: 'Hyperswitch sandbox with x-feature: decision-engine'
security: []
tags:
  - name: Health
    description: Service liveness, readiness, and diagnostics
  - name: Auth
    description: Dashboard auth and merchant selection
  - name: API Keys
    description: Service-to-service API key management
  - name: Gateway Decision
    description: Core routing decision APIs
  - name: Score Feedback
    description: Feed transaction outcomes back to improve SR scoring
  - name: Merchant Account
    description: Merchant configuration management
  - name: Routing Rules
    description: Euclid declarative routing rules engine
  - name: Rule Configuration
    description: Service-level SR/elimination config
  - name: Config
    description: Routing key and dimension metadata
  - name: Analytics
    description: ClickHouse-backed analytics and audit reads
  - name: Compatibility
    description: Legacy compatibility routes
  - name: Connector Costs
  - name: Merchant Features
  - name: Autopilot
paths:
  /analytics/preview-trace:
    get:
      tags:
        - Analytics
      summary: Preview trace
      description: ClickHouse-backed rule preview trace read endpoint.
      operationId: analyticsPreviewTrace
      parameters:
        - name: x-tenant-id
          in: header
          required: true
          description: >-
            Tenant to resolve. The shipped config files define only the "public"
            tenant. No fallback — omitting this fails with TE_03.
          schema:
            type: string
            default: public
        - name: range
          in: query
          required: false
          schema:
            type: string
        - name: start_ms
          in: query
          required: false
          schema:
            type: integer
        - name: end_ms
          in: query
          required: false
          schema:
            type: integer
        - name: page
          in: query
          required: false
          schema:
            type: integer
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
        - name: payment_method_type
          in: query
          required: false
          schema:
            type: string
        - name: payment_method
          in: query
          required: false
          schema:
            type: string
        - name: card_network
          in: query
          required: false
          schema:
            type: string
        - name: card_is_in
          in: query
          required: false
          schema:
            type: string
        - name: currency
          in: query
          required: false
          schema:
            type: string
        - name: country
          in: query
          required: false
          schema:
            type: string
        - name: auth_type
          in: query
          required: false
          schema:
            type: string
        - name: gateway
          in: query
          required: false
          schema:
            type: string
        - name: payment_id
          in: query
          required: false
          schema:
            type: string
        - name: request_id
          in: query
          required: false
          schema:
            type: string
        - name: route
          in: query
          required: false
          schema:
            type: string
        - name: status
          in: query
          required: false
          schema:
            type: string
        - name: flow_type
          in: query
          required: false
          schema:
            type: string
        - name: routing_approach
          in: query
          required: false
          schema:
            type: string
        - name: exclude_routing_approach
          in: query
          required: false
          schema:
            type: string
        - name: error_code
          in: query
          required: false
          schema:
            type: string
        - name: merchant_id
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentAuditResponse'
      security:
        - BearerAuth: []
        - ApiKeyAuth: []
components:
  schemas:
    PaymentAuditResponse:
      type: object
      properties:
        merchant_id:
          type: string
        range:
          type: string
        payment_id:
          type: string
          nullable: true
        request_id:
          type: string
          nullable: true
        gateway:
          type: string
          nullable: true
        route:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        flow_type:
          type: string
          nullable: true
        routing_approach:
          type: string
          nullable: true
        error_code:
          type: string
          nullable: true
        page:
          type: integer
        page_size:
          type: integer
        total_results:
          type: integer
        total_success:
          type: integer
        total_failure:
          type: integer
        results:
          type: array
          items:
            $ref: '#/components/schemas/PaymentAuditSummary'
        timeline:
          type: array
          items:
            $ref: '#/components/schemas/PaymentAuditEvent'
    PaymentAuditSummary:
      type: object
      properties:
        lookup_key:
          type: string
        payment_id:
          type: string
          nullable: true
        request_id:
          type: string
          nullable: true
        merchant_id:
          type: string
          nullable: true
        first_seen_ms:
          type: integer
          format: int64
        last_seen_ms:
          type: integer
          format: int64
        event_count:
          type: integer
        latest_status:
          type: string
          nullable: true
        latest_gateway:
          type: string
          nullable: true
        latest_stage:
          type: string
          nullable: true
        gateways:
          type: array
          items:
            type: string
        routes:
          type: array
          items:
            type: string
    PaymentAuditEvent:
      type: object
      properties:
        id:
          type: string
        flow_type:
          type: string
        event_stage:
          type: string
          nullable: true
        route:
          type: string
          nullable: true
        merchant_id:
          type: string
          nullable: true
        payment_id:
          type: string
          nullable: true
        request_id:
          type: string
          nullable: true
        global_request_id:
          type: string
          nullable: true
        trace_id:
          type: string
          nullable: true
        payment_method_type:
          type: string
          nullable: true
        payment_method:
          type: string
          nullable: true
        gateway:
          type: string
          nullable: true
        routing_approach:
          type: string
          nullable: true
        rule_name:
          type: string
          nullable: true
        status:
          type: string
          nullable: true
        error_code:
          type: string
          nullable: true
        error_message:
          type: string
          nullable: true
        score_value:
          type: number
          format: double
          nullable: true
        sigma_factor:
          type: number
          format: double
          nullable: true
        average_latency:
          type: number
          format: double
          nullable: true
        tp99_latency:
          type: number
          format: double
          nullable: true
        transaction_count:
          type: integer
          format: int64
          nullable: true
        details:
          type: string
          nullable: true
        details_json:
          type: object
          nullable: true
        created_at_ms:
          type: integer
          format: int64
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT token obtained from /auth/login
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key created via /api-key/create

````