cURL
curl --request GET \
--url 'https://app.teable.ai/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE';
const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'GET',
hostname: 'app.teable.ai',
port: null,
path: '/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/admin/observability/task-queue",
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://app.teable.ai/api/admin/observability/task-queue"
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://app.teable.ai/api/admin/observability/task-queue")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/admin/observability/task-queue")
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{
"status": "healthy",
"reasons": [
"stalled_runs"
],
"sampledAt": "<string>",
"config": {
"topupWindowFactor": 123,
"stalledStalenessMs": 123
},
"backlog": {
"pending": 123,
"queued": 123,
"processing": 123,
"oldestPendingAgeMs": 123,
"orphanActive": 123
},
"recent": {
"windowMs": 123,
"succeeded": 123,
"failed": 123,
"skipped": 123,
"cancelled": 123,
"failureRate": 123
},
"watchdog": {
"disabled": true,
"intervalMs": 123,
"lastRunAt": "<string>",
"lastResult": {
"recovered": 123,
"finalized": 123
}
},
"spaces": [
{
"spaceId": "<string>",
"spaceName": "<string>",
"pending": 123,
"queued": 123,
"processing": 123,
"oldestPendingAgeMs": 123,
"slotLimit": 123,
"slotHeld": 123,
"drifted": true
}
],
"spacesTruncated": true,
"stalledCount": 123,
"lastActivityAt": "<string>"
}admin
Get adminobservabilitytask queue
Get the AI field generation queue health snapshot with the per-space ranking
Required token scopes: instance|read
GET
/
admin
/
observability
/
task-queue
cURL
curl --request GET \
--url 'https://app.teable.ai/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE' \
--header 'Authorization: Bearer REPLACE_BEARER_TOKEN'const url = 'https://app.teable.ai/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE';
const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}const http = require('https');
const options = {
method: 'GET',
hostname: 'app.teable.ai',
port: null,
path: '/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE',
headers: {
Authorization: 'Bearer REPLACE_BEARER_TOKEN'
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();import http.client
conn = http.client.HTTPSConnection("app.teable.ai")
headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" }
conn.request("GET", "/api/admin/observability/task-queue?refresh=SOME_STRING_VALUE", headers=headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.teable.ai/api/admin/observability/task-queue",
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://app.teable.ai/api/admin/observability/task-queue"
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://app.teable.ai/api/admin/observability/task-queue")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.teable.ai/api/admin/observability/task-queue")
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{
"status": "healthy",
"reasons": [
"stalled_runs"
],
"sampledAt": "<string>",
"config": {
"topupWindowFactor": 123,
"stalledStalenessMs": 123
},
"backlog": {
"pending": 123,
"queued": 123,
"processing": 123,
"oldestPendingAgeMs": 123,
"orphanActive": 123
},
"recent": {
"windowMs": 123,
"succeeded": 123,
"failed": 123,
"skipped": 123,
"cancelled": 123,
"failureRate": 123
},
"watchdog": {
"disabled": true,
"intervalMs": 123,
"lastRunAt": "<string>",
"lastResult": {
"recovered": 123,
"finalized": 123
}
},
"spaces": [
{
"spaceId": "<string>",
"spaceName": "<string>",
"pending": 123,
"queued": 123,
"processing": 123,
"oldestPendingAgeMs": 123,
"slotLimit": 123,
"slotHeld": 123,
"drifted": true
}
],
"spacesTruncated": true,
"stalledCount": 123,
"lastActivityAt": "<string>"
}Yetkilendirmeler
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Sorgu Parametreleri
Force a fresh sample when 1/true. Cached samples are returned by default.
Mevcut seçenekler:
0, 1, true, false Yanıt
200 - application/json
Successful response
Mevcut seçenekler:
healthy, degraded Mevcut seçenekler:
stalled_runs, backlog_aging, high_failure_rate, slot_drift, orphan_backlog, watchdog_disabled Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Son değiştirilme tarihi 15 Eylül 2026
Bu sayfa yararlı mıydı?

