Get search stats
curl --request GET \
--url https://api.example.com/v0/admin/stats/searches \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/v0/admin/stats/searches"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/v0/admin/stats/searches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v0/admin/stats/searches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v0/admin/stats/searches"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v0/admin/stats/searches")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v0/admin/stats/searches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"window": "1h",
"resolution_seconds": 2,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"items": [
{
"mode": "lexical",
"profile": "<string>",
"results": 1,
"summary": {
"count": 1,
"errors": 1,
"p50_ms": 1,
"p95_ms": 1,
"mean_ms": 1,
"last_error_code": "<string>",
"last_error_at": "2023-11-07T05:31:56Z"
},
"points": [
{
"start": "2023-11-07T05:31:56Z",
"count": 2,
"errors": 1,
"p50_ms": 1,
"p95_ms": 1
}
]
}
]
}{
"code": "<string>",
"message": "<string>",
"retryable": true,
"field": "<string>",
"resync_url": "<string>"
}Admin
Get search stats
Searches of the key’s Organization over the window per mode and search profile, with errors, latency and the number of results returned, in the buckets of getPluginCallStats. The profile is unknown for a search that named a profile the deployment does not serve. Requires observability:read on a key that grants every Corpus.
GET
/
v0
/
admin
/
stats
/
searches
Get search stats
curl --request GET \
--url https://api.example.com/v0/admin/stats/searches \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/v0/admin/stats/searches"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/v0/admin/stats/searches', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v0/admin/stats/searches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v0/admin/stats/searches"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v0/admin/stats/searches")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v0/admin/stats/searches")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"window": "1h",
"resolution_seconds": 2,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"items": [
{
"mode": "lexical",
"profile": "<string>",
"results": 1,
"summary": {
"count": 1,
"errors": 1,
"p50_ms": 1,
"p95_ms": 1,
"mean_ms": 1,
"last_error_code": "<string>",
"last_error_at": "2023-11-07T05:31:56Z"
},
"points": [
{
"start": "2023-11-07T05:31:56Z",
"count": 2,
"errors": 1,
"p50_ms": 1,
"p95_ms": 1
}
]
}
]
}{
"code": "<string>",
"message": "<string>",
"retryable": true,
"field": "<string>",
"resync_url": "<string>"
}Authorizations
API key, not necessarily a JWT. Server derives Organization, permitted actions and Corpus scope; every resource access is authorized.
Query Parameters
Available options:
1h, 24h, 7d