Skip to content

Statistics API (REST) ​

The Statistics API exposes tenant usage, query, ingestion, collection, and virtualization summaries for dashboards and operational reporting.

All endpoints require an API key with Statistic or Admin rights and api-version: 1.0.

Endpoint Overview ​

MethodPathDescription
GET/statistic/query/most-popular/{startAt}/{endAt}/{limit}Most popular search queries in a date range.
GET/statistic/query/most-popular-period/{startAt}/{endAt}Query counts grouped by period.
GET/statistic/query/channel-split/{startAt}/{endAt}Query usage split by channel.
GET/statistic/collection/usage-period/{startAt}/{endAt}Collection usage over a date range.
GET/statistic/collection/count-document/per-collectionDocument counts for selected collections.
GET/statistic/collection/count-documentDocument counts for all collections.
GET/statistic/subscription/usageCurrent subscription usage summary.
GET/statistic/subscription/usage/{startAt}/{endAt}Subscription usage over a date range.
GET/statistic/ingestion/summary/{startAt}/{endAt}Ingestion summary over a date range.
GET/statistic/ingestion/source-breakdown/{startAt}/{endAt}Ingestion breakdown by source.
GET/statistic/virtualization/summary/{startAt}/{endAt}Plugin virtualization summary over a date range.

Dates use YYYY-MM-DD. limit must be between 10 and 1,000. The collection usage-period route accepts an optional collectionId query parameter. The per-collection document-count route accepts repeated collectionIds query parameters, one ULID per value.

Query Examples ​

http
GET /statistic/query/most-popular/2026-06-01/2026-06-24/25
x-api-key: YOUR_API_KEY
api-version: 1.0
http
GET /statistic/collection/count-document/per-collection?collectionIds=01J00000000000000000000000&collectionIds=01J00000000000000000000001
x-api-key: YOUR_API_KEY
api-version: 1.0

Response bodies ​

Successful requests return HTTP 200 with JSON. Arrays can be empty when no data matches the requested scope or period.

Route suffix under /statisticBody
query/most-popular/{startAt}/{endAt}/{limit}Array of { query, frequency }
query/most-popular-period/{startAt}/{endAt}Array of { weekStart, week, month, numberOfQueries }
query/channel-split/{startAt}/{endAt}{ apiQueries, adminPanelQueries, unknownQueries }
collection/usage-period/{startAt}/{endAt}Array of { weekStart, week, month, collectionId, usage, rank }
collection/count-document/per-collectionArray of { sum, collectionId }
collection/count-documentArray of { sum, collectionId }
subscription/usage{ count }
subscription/usage/{startAt}/{endAt}{ count }
ingestion/summary/{startAt}/{endAt}{ successfulIngestions, failedIngestions, updatedDocuments, removedDocuments, averageTimeToSearchSeconds }
ingestion/source-breakdown/{startAt}/{endAt}Array of { source, count, percent }
virtualization/summary/{startAt}/{endAt}{ started, destroyed, terminated, recentEvents }

weekStart is an ISO date. averageTimeToSearchSeconds can be null when no duration is available. Each recentEvents entry contains timestamp, virtualMachineId, event, workload, and nullable reason.

For example, a most-popular-query response is:

json
[
  { "query": "annual report", "frequency": 42 },
  { "query": "revenue", "frequency": 18 }
]

Caching ​

Statistics responses are cached briefly for dashboard workloads. Treat these endpoints as reporting APIs, not as strongly consistent write-after-read checks for just-submitted ingestion work.

Common Errors ​

StatusMeaning
400Invalid date, limit, or missing collection id query value.
401 / 403Missing credentials or insufficient API key rights.
500The statistic query could not be completed. Retry later.

Next: Monitoring & Tasks API