Get Service Health
curl --request GET \
--url https://getbill.io/status/api/health/{service} \
--header 'Authorization: Bearer <token>'import requests
url = "https://getbill.io/status/api/health/{service}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://getbill.io/status/api/health/{service}', 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://getbill.io/status/api/health/{service}",
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://getbill.io/status/api/health/{service}"
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://getbill.io/status/api/health/{service}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getbill.io/status/api/health/{service}")
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": "operational",
"responseTime": 12,
"message": "API is responding normally"
}
{
"status": "operational",
"deliveryRate": 99.8,
"queueTime": "<5s",
"queueSize": 12,
"message": "Messaging services are operational"
}
Status API
Get Service Health
Get detailed health information for a specific service
GET
/
status
/
api
/
health
/
{service}
Get Service Health
curl --request GET \
--url https://getbill.io/status/api/health/{service} \
--header 'Authorization: Bearer <token>'import requests
url = "https://getbill.io/status/api/health/{service}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://getbill.io/status/api/health/{service}', 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://getbill.io/status/api/health/{service}",
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://getbill.io/status/api/health/{service}"
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://getbill.io/status/api/health/{service}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getbill.io/status/api/health/{service}")
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": "operational",
"responseTime": 12,
"message": "API is responding normally"
}
{
"status": "operational",
"deliveryRate": 99.8,
"queueTime": "<5s",
"queueSize": 12,
"message": "Messaging services are operational"
}
Overview
Returns detailed health metrics for a specific GetBill service.Authentication
None required. This is a public endpoint.Request
string
required
Service identifier. One of:
api, webapp, ai-calls, messagingExample Request
curl -X GET "https://getbill.io/status/api/health/api" \
-H "Accept: application/json"
const response = await fetch('https://getbill.io/status/api/health/api');
const health = await response.json();
import requests
response = requests.get('https://getbill.io/status/api/health/api')
health = response.json()
Response
Response fields vary by service:API Service
string
operational, degraded, or outageinteger
Database response time in milliseconds
string
Human-readable status message
Web Application
string
operational, degraded, or outageinteger
Response time in milliseconds
number
Memory usage in MB
number
Memory usage as percentage of limit
AI Calls
string
operational, degraded, or outagenumber
Call success rate over last 24 hours (%)
integer
Total completed calls in last 24 hours
Messaging
string
operational, degraded, or outagenumber
Message delivery rate over last 24 hours (%)
string
Estimated queue processing time
integer
Number of messages pending delivery
Success Response
{
"status": "operational",
"responseTime": 12,
"message": "API is responding normally"
}
{
"status": "operational",
"deliveryRate": 99.8,
"queueTime": "<5s",
"queueSize": 12,
"message": "Messaging services are operational"
}
Error Responses
{
"error": "Service not found"
}
Available Services
| Service | Description |
|---|---|
api | Core API and database connectivity |
webapp | Web application and PHP runtime |
ai-calls | AI-powered voice calling services |
messaging | Email, SMS, WhatsApp, and RCS messaging |