List Query Runs
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs', 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.slatehq.ai/ai-analytics-service/api/public/v1/query-runs",
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: <authorization>"
],
]);
$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.slatehq.ai/ai-analytics-service/api/public/v1/query-runs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.slatehq.ai/ai-analytics-service/api/public/v1/query-runs")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"content": [
{
"queryRun": {
"id": 123,
"promptId": 123,
"topicId": 123,
"platform": "<string>",
"status": "<string>",
"startedAt": "<string>",
"completedAt": "<string>",
"errorMessage": "<string>"
},
"topicName": "<string>",
"promptText": "<string>",
"brandsMentioned": [
"<string>"
]
}
],
"totalElements": 123,
"totalPages": 123,
"number": 123,
"size": 123
}Query Runs
List Query Runs
Retrieve a paginated list of query runs with filters for status, platform, topic, and date range.
GET
/
ai-analytics-service
/
api
/
public
/
v1
/
query-runs
List Query Runs
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs', 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.slatehq.ai/ai-analytics-service/api/public/v1/query-runs",
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: <authorization>"
],
]);
$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.slatehq.ai/ai-analytics-service/api/public/v1/query-runs"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
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.slatehq.ai/ai-analytics-service/api/public/v1/query-runs")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"content": [
{
"queryRun": {
"id": 123,
"promptId": 123,
"topicId": 123,
"platform": "<string>",
"status": "<string>",
"startedAt": "<string>",
"completedAt": "<string>",
"errorMessage": "<string>"
},
"topicName": "<string>",
"promptText": "<string>",
"brandsMentioned": [
"<string>"
]
}
],
"totalElements": 123,
"totalPages": 123,
"number": 123,
"size": 123
}Returns a paginated list of query runs in your workspace. Each result includes the associated prompt text, topic name, and brands mentioned in the AI response.
Parameters
string
required
Bearer token. Format:
Bearer slat_<your-token>.integer
Page number (0-indexed). Default:
0.integer
Number of results per page. Default:
10.string
Field to sort by. Default:
startedAt.string
Sort direction. One of:
asc, desc. Default: desc.string
Filter by run status (e.g.,
COMPLETED, FAILED, PENDING).string[]
Filter by one or more platforms:
CHATGPT, PERPLEXITY, GOOGLE_AI_OVERVIEW, GOOGLE_AI_MODE, GEMINI, CLAUDE.number
Filter by topic ID.
number
Filter by prompt ID.
number
Filter by brand ID.
string
Filter by ISO 3166-1 alpha-2 country code (e.g.,
US).string
Search by prompt text. Case-insensitive partial match.
integer
Filter to runs from the last N days.
string
Start of date range filter. ISO 8601 format (e.g.,
2026-02-01T00:00:00Z).string
End of date range filter. ISO 8601 format. Must be after
from if both are provided.Response
Returns200 OK with a paginated list of query runs.
object[]
required
Array of query run objects with prompt and topic info.
Show query run with context
Show query run with context
object
required
The query run details.
Show query run object
Show query run object
string
required
Name of the associated topic.
string
required
The prompt text that was queried.
string[]
Brands found in the AI response.
integer
required
Total number of query runs matching the filters.
integer
required
Total number of pages.
integer
required
Current page number (0-indexed).
integer
required
Page size.
Example
curl -s "https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs?topicId=42&status=COMPLETED&page=0&size=10" \
-H "Authorization: Bearer slat_YOUR_TOKEN"
import requests
response = requests.get(
"https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs",
headers={
"Authorization": "Bearer slat_YOUR_TOKEN",
},
params={
"topicId": 42,
"status": "COMPLETED",
"page": 0,
"size": 10,
},
)
result = response.json()
for item in result["content"]:
print(item["queryRun"]["id"], item["queryRun"]["platform"], item["brandsMentioned"])
const params = new URLSearchParams({
topicId: "42",
status: "COMPLETED",
page: "0",
size: "10",
});
const response = await fetch(
`https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs?${params}`,
{
headers: {
"Authorization": "Bearer slat_YOUR_TOKEN",
},
}
);
const result = await response.json();
console.log(result.totalElements, "query runs found");
Response
{
"content": [
{
"queryRun": {
"id": 2048,
"promptId": 156,
"topicId": 42,
"platform": "CHATGPT",
"status": "COMPLETED",
"startedAt": "2026-02-11T14:30:00Z",
"completedAt": "2026-02-11T14:31:15Z",
"errorMessage": null
},
"topicName": "Project Management Tools",
"promptText": "What is the best project management tool for remote teams?",
"brandsMentioned": ["Asana", "Monday.com", "Jira"]
}
],
"totalElements": 85,
"totalPages": 9,
"number": 0,
"size": 10
}
Page numbering starts at
0. Default sort is by startedAt descending (most recent first).Status codes
| Status | Description |
|---|---|
200 | List returned. |
400 | Invalid query parameter, location code, or date range (from is after to). |
401 | Missing or invalid Bearer token. See Authentication. |
500 | Internal server error. |
What’s next
- Get Query Run — Get details for a specific run.
- Get Run Details — View the full AI response and metrics for a run.
Was this page helpful?