---
title: "Get consolidated dashboard data"
method: GET
path: "/api/logs/dashboard"
tags: ["Logging"]
---

# Get consolidated dashboard data

`GET /api/logs/dashboard`

Returns every metric shown on the workspace dashboard in a single
response: overview totals and histograms, provider usage, model rankings,
dimension rankings (team, user, virtual key, customer, business unit), and
MCP usage. Intended for external integrations that want the full dashboard
in one call rather than orchestrating the individual endpoints.

Accepts the same LLM filter parameters as the histogram and rankings
endpoints, plus the MCP filter parameters (`tool_names`, `server_labels`)
which apply to the `mcp` section. Filters are applied once and every
section is computed against the same time window and bucket size. The
request fails as a whole if any section cannot be computed, so the payload
is always complete.

## Query parameters

- `providers` string
- `models` string
- `aliases` string
- `status` string
- `objects` string
- `selected_key_ids` string
- `virtual_key_ids` string
- `team_ids` string
- `customer_ids` string
- `user_ids` string
- `business_unit_ids` string
- `routing_rule_ids` string
- `routing_engine_used` string
- `start_time` string, date-time
- `end_time` string, date-time
- `period` string
- `min_latency` number
- `max_latency` number
- `min_tokens` integer
- `max_tokens` integer
- `min_cost` number
- `max_cost` number
- `missing_cost_only` boolean
- `stop_reasons` string
- `cache_hit_types` string
- `parent_request_id` string
- `metadata_<key>` string
- `content_search` string
- `tool_names` string
- `server_labels` string

## Response `200`

Dashboard data retrieved successfully

- object — Consolidated payload containing every metric shown on the workspace dashboard. Each section mirrors the response of its dedicated endpoint, so consumers can integrate a single call instead of orchestrating many.
  - `meta` object — Parameters the dashboard data was computed with
    - `generated_at` string, date-time — UTC time the response was assembled
    - `bucket_size_seconds` integer — Width of every histogram bucket, derived from the time range
    - `start_time` string, date-time — Resolved start of the queried range
    - `end_time` string, date-time — Resolved end of the queried range
  - `overview` object — Overview tab metrics
    - `stats` LogStats — Log statistics
      - `total_requests` integer, required
      - `total_tokens` integer, required
      - `total_cost` number, required
      - `average_latency` number, required
      - `success_rate` number, required — Percentage of completed provider attempts that succeeded
      - `user_facing_success_rate` number, required — Percentage of user requests that ultimately succeeded, counting fallback chains as one request
      - `user_facing_total_requests` integer, required — Count of root requests used as the denominator for user_facing_success_rate
      - `cache_hit_rate_total_requests` integer — Completed requests used as the local-cache hit-rate denominator
      - `direct_cache_hits` integer — Number of direct local-cache hits
      - `semantic_cache_hits` integer — Number of semantic local-cache hits
    - `requests` object — Time-bucketed request count histogram
      - `buckets` object[]
        - `timestamp` string, date-time
        - `count` integer
        - `success` integer
        - `error` integer
      - `bucket_size_seconds` integer
    - `tokens` object — Time-bucketed token usage histogram
      - `buckets` object[]
        - `timestamp` string, date-time
        - `prompt_tokens` integer
        - `completion_tokens` integer
        - `total_tokens` integer
      - `bucket_size_seconds` integer
    - `cost` object — Time-bucketed cost histogram with model breakdown
      - `buckets` object[]
        - `timestamp` string, date-time
        - `total_cost` number
        - `by_model` object — Cost breakdown by model name
      - `bucket_size_seconds` integer
      - `models` string[] — List of models present in the histogram
    - `models` object — Time-bucketed model usage histogram
      - `buckets` object[]
        - `timestamp` string, date-time
        - `by_model` object — Usage breakdown by model name
      - `bucket_size_seconds` integer
      - `models` string[]
    - `latency` object — Time-bucketed latency histogram
      - `buckets` object[]
        - `timestamp` string, date-time
        - `avg_latency` number
        - `p90_latency` number
        - `p95_latency` number
        - `p99_latency` number
        - `total_requests` integer
      - `bucket_size_seconds` integer
  - `provider_usage` object — Provider Usage tab metrics
    - `cost` object — Time-bucketed cost histogram with provider breakdown
      - `buckets` object[]
        - `timestamp` string, date-time
        - `total_cost` number
        - `by_provider` object — Cost breakdown by provider name
      - `bucket_size_seconds` integer
      - `providers` string[]
    - `tokens` object — Time-bucketed token histogram with provider breakdown
      - `buckets` object[]
        - `timestamp` string, date-time
        - `by_provider` object — Token usage breakdown by provider name
      - `bucket_size_seconds` integer
      - `providers` string[]
    - `latency` object — Time-bucketed latency histogram with provider breakdown
      - `buckets` object[]
        - `timestamp` string, date-time
        - `by_provider` object — Latency breakdown by provider name
      - `bucket_size_seconds` integer
      - `providers` string[]
  - `model_rankings` object — Model Rankings tab data
    - `rankings` object — Models ranked by usage with trend comparison
      - `rankings` object[]
        - `model` string
        - `provider` string
        - `total_requests` integer
        - `success_count` integer
        - `success_rate` number
        - `total_tokens` integer
        - `total_cost` number
        - `avg_latency` number
        - `trend` object — Percentage change versus the previous comparable period
          - `has_previous_period` boolean
          - `requests_trend` number
          - `tokens_trend` number
          - `cost_trend` number
          - `latency_trend` number
    - `histogram` object — Time-bucketed model usage histogram
      - `buckets` object[]
        - `timestamp` string, date-time
        - `by_model` object — Usage breakdown by model name
      - `bucket_size_seconds` integer
      - `models` string[]
  - `dimension_rankings` object — Ranking tables keyed by dimension (`team`, `user`, `virtual_key`, `customer`, `business_unit`); each value is that dimension's rankings.
  - `mcp` object — MCP usage tab metrics
    - `volume` object — Time-bucketed MCP tool call volume histogram
      - `buckets` object[]
        - `timestamp` string, date-time
        - `count` integer
        - `success` integer
        - `error` integer
      - `bucket_size_seconds` integer
    - `cost` object — Time-bucketed MCP cost histogram
      - `buckets` object[]
        - `timestamp` string, date-time
        - `total_cost` number
      - `bucket_size_seconds` integer
    - `top_tools` object — Top MCP tools by call count (limit 10)
      - `tools` object[]
        - `tool_name` string
        - `count` integer
        - `cost` number

## Other responses

- `400` — Bad request
- `500` — Internal server error

---

[API](https://skmtc.net/getbifrost/apis/bifrost-api.md) · [All operations](https://skmtc.net/getbifrost/apis/bifrost-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/getbifrost/bifrost-api/versions/f8cab88f64ea/schema)
