---
title: "Get plugin call stats"
method: GET
path: "/v0/admin/stats/plugins"
tags: ["Admin"]
---

# Get plugin call stats

`GET /v0/admin/stats/plugins`

## Request

- Base URL: `https://docs.quivr.thevibecompany.co` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.quivr.thevibecompany.co/v0/admin/stats/plugins`
- Auth: HTTP bearer

Calls, errors and latency of every plugin Contribution invoked for the key's Organization over the window, per plugin version and operation, with the last error code the plugin declared (or plugin_unavailable, invalid_output). Counts are written by each process every few seconds and kept 7 days; a window reads buckets of one resolution (1 minute for 1h, 15 minutes for 24h, 2 hours for 7d) and lists only non-empty ones. Latency percentiles are interpolated from fixed buckets. Requires observability:read on a key that grants every Corpus.

## Query parameters

- `window` '1h' | '24h' | '7d'

## Response `200`

Successful response

- PluginCallStatsList
  - `window` '1h' | '24h' | '7d', required
  - `resolution_seconds` integer, required
  - `from` string, date-time, required
  - `to` string, date-time, required
  - `items` PluginCallStats[], required
    - `plugin_id` string, required
    - `plugin_version` string, required
    - `operation` 'normalize' | 'segment_and_embed' | 'embed_query' | 'search_round' | 'connector_fetch' | 'connector_receive' | 'check_credential' | 'describe_attachment' | 'upload_attachment' | 'evaluate_subscription', required
    - `summary` StatsSummary, required: A series over the whole window. Latencies are in milliseconds and present only when count is positive.
      - `count` integer, required
      - `errors` integer, required
      - `p50_ms` number
      - `p95_ms` number
      - `mean_ms` number
      - `last_error_code` string
      - `last_error_at` string, date-time
    - `points` StatsPoint[], required: Non-empty buckets, oldest first.
      - `start` string, date-time, required
      - `count` integer, required
      - `errors` integer, required
      - `p50_ms` number, required
      - `p95_ms` number, required

## Other responses

- `default`: Structured error; 401 unauthenticated, 403 without observability:read on every Corpus, 422 invalid_window, 503 storage unavailable.

---

[API](https://skmtc.dev/thevibecompany/apis/quivr-http-api.md) - [All operations](https://skmtc.dev/thevibecompany/apis/quivr-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thevibecompany/apis/quivr-http-api/revisions/4f4e30ba8f4e?raw)
