Get usage and limits
curl --request GET \
--url https://embed.breadbowl.ai/v1/usage \
--header 'Authorization: Bearer <token>'import requests
url = "https://embed.breadbowl.ai/v1/usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://embed.breadbowl.ai/v1/usage', 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://embed.breadbowl.ai/v1/usage",
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://embed.breadbowl.ai/v1/usage"
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://embed.breadbowl.ai/v1/usage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://embed.breadbowl.ai/v1/usage")
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{
"period_start": "2026-07-01T00:00:00.000Z",
"period_end": "2026-08-01T00:00:00.000Z",
"usage": {
"input_tokens": "128450",
"requests": 842,
"document_upserts": 400,
"searches": 437,
"scores": 5,
"documents": 398
},
"limits": {
"input_tokens": "50000000",
"documents": 100000,
"requests_per_minute": 60,
"max_concurrent_requests": 2
},
"remaining": {
"input_tokens": "49871550",
"documents": 99602
}
}Get usage and limits
Returns aggregate usage for the current UTC calendar month, the limits assigned to the tenant, and current remaining token and document allowances. Token values are decimal strings to prevent integer precision loss.
GET
/
v1
/
usage
Get usage and limits
curl --request GET \
--url https://embed.breadbowl.ai/v1/usage \
--header 'Authorization: Bearer <token>'import requests
url = "https://embed.breadbowl.ai/v1/usage"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://embed.breadbowl.ai/v1/usage', 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://embed.breadbowl.ai/v1/usage",
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://embed.breadbowl.ai/v1/usage"
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://embed.breadbowl.ai/v1/usage")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://embed.breadbowl.ai/v1/usage")
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{
"period_start": "2026-07-01T00:00:00.000Z",
"period_end": "2026-08-01T00:00:00.000Z",
"usage": {
"input_tokens": "128450",
"requests": 842,
"document_upserts": 400,
"searches": 437,
"scores": 5,
"documents": 398
},
"limits": {
"input_tokens": "50000000",
"documents": 100000,
"requests_per_minute": 60,
"max_concurrent_requests": 2
},
"remaining": {
"input_tokens": "49871550",
"documents": 99602
}
}Authorizations
Tenant-scoped API key beginning with qkv_live_.
Response
Current usage summary
⌘I