curl --request GET \
--url https://api.querying.ai/v1/async/task/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.querying.ai/v1/async/task/{id}"
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/task/{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.querying.ai/v1/async/task/{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: 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/task/{id}"
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/task/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.querying.ai/v1/async/task/{id}")
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,
"task": {
"id": "8f2c1e40-0000-0000-0000-000000000000",
"taskType": "GEMINI",
"status": "QUEUED",
"priority": 1,
"createdAt": "2026-07-09T04:12:00.000Z"
},
"credits": {
"creditsToCharge": 0,
"creditsCharged": 0
}
}Get a task
Poll a task by id. Terminal results are available for 24 hours after completion.
curl --request GET \
--url https://api.querying.ai/v1/async/task/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.querying.ai/v1/async/task/{id}"
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/task/{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.querying.ai/v1/async/task/{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: 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/task/{id}"
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/task/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.querying.ai/v1/async/task/{id}")
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,
"task": {
"id": "8f2c1e40-0000-0000-0000-000000000000",
"taskType": "GEMINI",
"status": "QUEUED",
"priority": 1,
"createdAt": "2026-07-09T04:12:00.000Z"
},
"credits": {
"creditsToCharge": 0,
"creditsCharged": 0
}
}Authorizations
Your API key, sent as Authorization: Bearer <key>.
Path Parameters
The task id returned at submit time.
Response
The task, plus response or error once terminal.
Show child attributes
Show child attributes
Submit and polling envelopes preserve zero values. With billing enabled, account settlement uses the engine pricing policy; webhooks report the persisted charge. SOURCE_INFLUENCE is metered by actual model tokens and source fetches.
Show child attributes
Show child attributes
The engine-specific result. Absent until the task is terminal. See the Engines guide for per-engine shapes. SOURCE_INFLUENCE (and CITATION_ATTRIBUTION alias) returns SourceInfluenceResult; see the Source Influence guide.
Present when task.status is FAILED. A plain string — not the {code, message, timestamp} object used by request-level errors.