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

# One-shot LLM analytics dashboard (fan-out of 6 pipes)



## OpenAPI

````yaml /api-reference/openapi.json get /v1/analytics/model-router/dashboard
openapi: 3.1.0
info:
  title: Feather API
  description: >-
    Unified customer experience platform API. Manages identity, conversations,
    memory, agents, procedures, policies, model routing, knowledge bases,
    integrations, and runtime execution.
  version: 1.87.0
servers:
  - url: https://api-sandbox.featherhq.com
    description: Sandbox
  - url: http://localhost:8000
    description: Local dev
security: []
paths:
  /v1/analytics/model-router/dashboard:
    get:
      tags:
        - analytics
      summary: One-shot LLM analytics dashboard (fan-out of 6 pipes)
      operationId: getModelRouterDashboard
      parameters:
        - name: granularity
          in: query
          required: false
          schema:
            type: string
            pattern: ^(minute|hour|day|week)$
            default: day
            title: Granularity
        - name: agent_id
          in: query
          required: false
          schema:
            anyOf:
              - type: string
                format: uuid
              - type: 'null'
            title: Agent Id
        - name: provider
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Provider
        - name: operation
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
            title: Operation
        - name: start_date
          in: query
          required: true
          schema:
            type: string
            format: date
            title: Start Date
        - name: end_date
          in: query
          required: true
          schema:
            type: string
            format: date
            title: End Date
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ModelRouterDashboardEnvelope'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - APIKeyHeader: []
components:
  schemas:
    ModelRouterDashboardEnvelope:
      properties:
        cost_timeseries:
          items:
            $ref: '#/components/schemas/CostByOrgDailyRow'
          type: array
          title: Cost Timeseries
        cost_by_model:
          items:
            $ref: '#/components/schemas/CostByModelRow'
          type: array
          title: Cost By Model
        latency:
          items:
            $ref: '#/components/schemas/LatencyRow'
          type: array
          title: Latency
        error_rate:
          items:
            $ref: '#/components/schemas/ErrorRateRow'
          type: array
          title: Error Rate
        cache_savings:
          items:
            $ref: '#/components/schemas/CacheSavingsRow'
          type: array
          title: Cache Savings
        fallback_rate:
          items:
            $ref: '#/components/schemas/FallbackRateRow'
          type: array
          title: Fallback Rate
      type: object
      required:
        - cost_timeseries
        - cost_by_model
        - latency
        - error_rate
        - cache_savings
        - fallback_rate
      title: ModelRouterDashboardEnvelope
      description: One-shot LLM dashboard — fans out six existing model-router pipes.
    ErrorResponse:
      properties:
        error:
          type: string
          title: Error
        message:
          type: string
          title: Message
        retryable:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Retryable
        retry_after:
          anyOf:
            - type: integer
            - type: 'null'
          title: Retry After
      type: object
      required:
        - error
        - message
      title: ErrorResponse
      description: Standard error response returned by all API error handlers.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    CostByOrgDailyRow:
      properties:
        time_bucket:
          type: string
          format: date-time
          title: Time Bucket
        total_cost_usd:
          type: number
          title: Total Cost Usd
        input_cost_usd:
          type: number
          title: Input Cost Usd
        output_cost_usd:
          type: number
          title: Output Cost Usd
        cache_cost_usd:
          type: number
          title: Cache Cost Usd
        invocations:
          type: integer
          title: Invocations
      type: object
      required:
        - time_bucket
        - total_cost_usd
        - input_cost_usd
        - output_cost_usd
        - cache_cost_usd
        - invocations
      title: CostByOrgDailyRow
    CostByModelRow:
      properties:
        served_model:
          type: string
          title: Served Model
        provider:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider
        total_cost_usd:
          type: number
          title: Total Cost Usd
        input_cost_usd:
          type: number
          title: Input Cost Usd
        output_cost_usd:
          type: number
          title: Output Cost Usd
        cache_cost_usd:
          type: number
          title: Cache Cost Usd
        invocations:
          type: integer
          title: Invocations
        p95_ms:
          type: number
          title: P95 Ms
        avg_ms:
          type: number
          title: Avg Ms
      type: object
      required:
        - served_model
        - total_cost_usd
        - input_cost_usd
        - output_cost_usd
        - cache_cost_usd
        - invocations
        - p95_ms
        - avg_ms
      title: CostByModelRow
    LatencyRow:
      properties:
        served_model:
          type: string
          title: Served Model
        provider:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider
        invocations:
          type: integer
          title: Invocations
        p50_ms:
          type: number
          title: P50 Ms
        p95_ms:
          type: number
          title: P95 Ms
        p99_ms:
          type: number
          title: P99 Ms
        avg_ms:
          type: number
          title: Avg Ms
        max_ms:
          type: number
          title: Max Ms
      type: object
      required:
        - served_model
        - invocations
        - p50_ms
        - p95_ms
        - p99_ms
        - avg_ms
        - max_ms
      title: LatencyRow
    ErrorRateRow:
      properties:
        organization_id:
          type: string
          title: Organization Id
        terminal_failures:
          type: integer
          title: Terminal Failures
        terminal_total:
          type: integer
          title: Terminal Total
        error_rate:
          type: number
          title: Error Rate
      type: object
      required:
        - organization_id
        - terminal_failures
        - terminal_total
        - error_rate
      title: ErrorRateRow
    CacheSavingsRow:
      properties:
        served_model:
          type: string
          title: Served Model
        provider:
          anyOf:
            - type: string
            - type: 'null'
          title: Provider
        cache_read_tokens:
          type: integer
          title: Cache Read Tokens
        cache_write_tokens:
          type: integer
          title: Cache Write Tokens
        cache_cost_usd:
          type: number
          title: Cache Cost Usd
        cache_savings_usd:
          type: number
          title: Cache Savings Usd
        input_cost_usd:
          type: number
          title: Input Cost Usd
        total_cost_usd:
          type: number
          title: Total Cost Usd
        invocations:
          type: integer
          title: Invocations
        cache_hit_rate:
          type: number
          title: Cache Hit Rate
      type: object
      required:
        - served_model
        - cache_read_tokens
        - cache_write_tokens
        - cache_cost_usd
        - cache_savings_usd
        - input_cost_usd
        - total_cost_usd
        - invocations
        - cache_hit_rate
      title: CacheSavingsRow
    FallbackRateRow:
      properties:
        time_bucket:
          type: string
          format: date-time
          title: Time Bucket
        total_calls:
          type: integer
          title: Total Calls
        fallback_calls:
          type: integer
          title: Fallback Calls
        fallback_rate:
          type: number
          title: Fallback Rate
      type: object
      required:
        - time_bucket
        - total_calls
        - fallback_calls
        - fallback_rate
      title: FallbackRateRow
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: x-api-key

````