curl --request GET \
--url https://api.galtea.ai/self-check \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.galtea.ai/self-check"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.galtea.ai/self-check', 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.galtea.ai/self-check",
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.galtea.ai/self-check"
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.galtea.ai/self-check")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/self-check")
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{
"api": {
"status": "degraded",
"dependencies": [
{
"kind": "model",
"name": "LLM_MODEL",
"status": "ok",
"severity": "critical",
"durationMs": 412,
"resolved": "litellm_proxy/gpt-4.1",
"source": "default",
"detail": "<string>",
"failure": "unavailable"
}
]
},
"services": [
{
"name": "report-generator",
"status": "ok",
"result": "failed",
"dependencies": [
{
"kind": "model",
"name": "LLM_MODEL",
"status": "ok",
"severity": "critical",
"durationMs": 412,
"resolved": "litellm_proxy/gpt-4.1",
"source": "default",
"detail": "<string>",
"failure": "unavailable"
}
]
}
]
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Whether every deployed service can reach its dependencies
One entry per downstream service, naming every dependency it resolved and whether exercising it worked, plus an api block for the API’s own identity provider and mail relay. A readiness probe answers whether a process started; this answers whether the models, storage and queues it was configured with actually respond, which is what an operator needs after an install. A service being down never fails this call; it is reported with status: unreachable instead. Requires authentication; restricted to admins and organizations with an enterprise subscription, the same rule as GET /build-info.
curl --request GET \
--url https://api.galtea.ai/self-check \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.galtea.ai/self-check"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.galtea.ai/self-check', 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.galtea.ai/self-check",
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.galtea.ai/self-check"
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.galtea.ai/self-check")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/self-check")
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{
"api": {
"status": "degraded",
"dependencies": [
{
"kind": "model",
"name": "LLM_MODEL",
"status": "ok",
"severity": "critical",
"durationMs": 412,
"resolved": "litellm_proxy/gpt-4.1",
"source": "default",
"detail": "<string>",
"failure": "unavailable"
}
]
},
"services": [
{
"name": "report-generator",
"status": "ok",
"result": "failed",
"dependencies": [
{
"kind": "model",
"name": "LLM_MODEL",
"status": "ok",
"severity": "critical",
"durationMs": 412,
"resolved": "litellm_proxy/gpt-4.1",
"source": "default",
"detail": "<string>",
"failure": "unavailable"
}
]
}
]
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....