Queue status
Your queued and processing tasks, and the concurrency limit they count against.
GET
/
v1
/
async
/
status
Get queue status
curl --request GET \
--url https://api.querying.ai/v1/async/status \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.querying.ai/v1/async/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.querying.ai/v1/async/status', 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.querying.ai/v1/async/status",
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.querying.ai/v1/async/status"
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.querying.ai/v1/async/status")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.querying.ai/v1/async/status")
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{
"success": true,
"queuedTasks": 19,
"processingTasks": 6,
"priorityBreakdown": [
{
"priority": 8,
"count": 3
},
{
"priority": 1,
"count": 16
}
],
"concurrency": {
"used": 25,
"max": 200
}
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2026-07-09T04:12:00.000Z"
}
}{
"success": false,
"error": {
"code": "SUB_ACCOUNT_FORBIDDEN",
"message": "A sub-account queues inside its parent account's concurrency limit. The parent account reads the queue at GET /v1/async/status; a sub-account key reads its own task counts at GET /stats",
"timestamp": "2026-10-20T00:00:00.000Z"
}
}Reading it costs nothing, so a program can check it before it submits more.
concurrency.used counts queued and processing tasks together, as your plan limit does. What each field means is on Credits and limits.Authorizations
Your API key, sent as Authorization: Bearer <key>.
Response
Your queue right now.
Your tasks waiting for an engine, with your sub-accounts' tasks.
Your tasks an engine is working on, with your sub-accounts' tasks.
The queued tasks by the priority they were submitted with, highest first. Priority does not guarantee the order tasks run in.
Show child attributes
Show child attributes
The limit on queued and processing tasks together.
Show child attributes
Show child attributes
⌘I
Get queue status
curl --request GET \
--url https://api.querying.ai/v1/async/status \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.querying.ai/v1/async/status"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.querying.ai/v1/async/status', 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.querying.ai/v1/async/status",
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.querying.ai/v1/async/status"
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.querying.ai/v1/async/status")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.querying.ai/v1/async/status")
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{
"success": true,
"queuedTasks": 19,
"processingTasks": 6,
"priorityBreakdown": [
{
"priority": 8,
"count": 3
},
{
"priority": 1,
"count": 16
}
],
"concurrency": {
"used": 25,
"max": 200
}
}{
"success": false,
"error": {
"code": "MISSING_API_KEY",
"message": "Missing or invalid API key",
"timestamp": "2026-07-09T04:12:00.000Z"
}
}{
"success": false,
"error": {
"code": "SUB_ACCOUNT_FORBIDDEN",
"message": "A sub-account queues inside its parent account's concurrency limit. The parent account reads the queue at GET /v1/async/status; a sub-account key reads its own task counts at GET /stats",
"timestamp": "2026-10-20T00:00:00.000Z"
}
}