Get Query Run
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/{id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/{id}")
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{
"id": 123,
"promptId": 123,
"topicId": 123,
"platform": "<string>",
"status": "<string>",
"startedAt": "<string>",
"completedAt": "<string>",
"errorMessage": "<string>"
}Query Runs
Get Query Run
Retrieve the status and metadata of a specific query run.
GET
/
ai-analytics-service
/
api
/
public
/
v1
/
query-runs
/
{id}
Get Query Run
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/{id} \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/{id}")
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{
"id": 123,
"promptId": 123,
"topicId": 123,
"platform": "<string>",
"status": "<string>",
"startedAt": "<string>",
"completedAt": "<string>",
"errorMessage": "<string>"
}Returns the status and metadata of a single query run.
Parameters
number
required
Unique identifier for the query run.
string
required
Bearer token. Format:
Bearer slat_<your-token>.Response
Returns200 OK with the query run details.
number
required
Query run ID.
number
required
Associated prompt ID.
number
required
Associated topic ID.
string
required
AI platform used. One of:
CHATGPT, PERPLEXITY, GOOGLE_AI_OVERVIEW, GOOGLE_AI_MODE, GEMINI, CLAUDE.string
required
Run status (e.g.,
PENDING, COMPLETED, FAILED).string
required
Run start time. ISO 8601 format.
string
Completion time.
null if the run is still in progress.string
Error details if the run failed.
null on success.Example
curl -s "https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/2048" \
-H "Authorization: Bearer slat_YOUR_TOKEN"
import requests
response = requests.get(
"https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/2048",
headers={
"Authorization": "Bearer slat_YOUR_TOKEN",
},
)
run = response.json()
print(run["status"], run["platform"])
const response = await fetch(
"https://api.slatehq.ai/ai-analytics-service/api/public/v1/query-runs/2048",
{
headers: {
"Authorization": "Bearer slat_YOUR_TOKEN",
},
}
);
const run = await response.json();
console.log(run.status, run.platform);
Response
{
"id": 2048,
"promptId": 156,
"topicId": 42,
"platform": "CHATGPT",
"status": "COMPLETED",
"startedAt": "2026-02-11T14:30:00Z",
"completedAt": "2026-02-11T14:31:15Z",
"errorMessage": null
}
Status codes
| Status | Description |
|---|---|
200 | Query run found. |
401 | Missing or invalid Bearer token. See Authentication. |
404 | Query run not found. The ID does not exist or does not belong to this workspace. |
500 | Internal server error. |
What’s next
- Get Run Details — View the full AI response and metrics.
- List Query Runs — Browse all query runs.
Was this page helpful?