GET
https://api.breeze.blue/v1/usageGet usage metering
Get aggregated usage with daily buckets and recent requests.
Authentication
API key: Send your Breeze Developer API key with the xi-api-key header.
Headers
| Field | Type | Description |
|---|---|---|
xi-api-keyrequired | string | Your Breeze Developer API key. See authentication. |
Query parameters
| Field | Type | Description |
|---|---|---|
days | integerdefault: 30 | Window length in days (1–90). |
search | string | Keyword filter across endpoint, model, action code, key id, key name, and key prefix. |
method | string | Filter by HTTP method. |
api_key_id | string | Filter by public API key identifier (key_...). |
status_class | string | Filter by HTTP status class: 2xx, 4xx, 5xx, or other. |
client_type | string | Filter by client type: api, sdk, or cli. |
from | string | Inclusive start date (YYYY-MM-DD). |
to | string | Inclusive end date (YYYY-MM-DD). |
page | integerdefault: 1 | Page number for the request log. |
page_size | integerdefault: 20 | Rows per page. |
Example request
python
import os
from breeze_blue import BreezeBlue
client = BreezeBlue(api_key=os.environ["BREEZE_API_KEY"])
usage = client.account.usage(days=30, api_key_id="key_01hprod", client_type="sdk")
print(usage["summary"])
for item in usage["items"]:
print(item["endpoint"], item["status"], item.get("api_key_id"), item.get("client_name"))
typescript
import { BreezeBlueClient } from "@breeze.blue/sdk";
const client = new BreezeBlueClient({
apiKey: process.env.BREEZE_API_KEY!,
});
const usage = await client.account.usage({
days: 30,
apiKeyId: "key_01hprod",
clientType: "sdk",
});
console.log(usage.summary);
for (const item of usage.items) {
console.log(item.endpoint, item.status, item.apiKeyId, item.clientName);
}
curl
curl "https://api.breeze.blue/v1/usage?days=30" \
-H "xi-api-key: $BREEZE_API_KEY"
import os
from breeze_blue import BreezeBlue
client = BreezeBlue(api_key=os.environ["BREEZE_API_KEY"])
usage = client.account.usage(days=30, api_key_id="key_01hprod", client_type="sdk")
print(usage["summary"])
for item in usage["items"]:
print(item["endpoint"], item["status"], item.get("api_key_id"), item.get("client_name"))Response
Aggregated usage.
Content types: application/json
Response headers:
x-breeze-api-key-id: Public API key identifier used to authenticate the request, when an API key was used.
{
"window_days": 30,
"summary": {
"request_count": 1280,
"total_text_characters": 184320,
"total_billable_units": 184320,
"total_cost": 184.320,
"total_cost_millicredits": 184320
},
"total": 2,
"page": 1,
"page_size": 20,
"daily": [
{ "date": "2026-04-01", "request_count": 42 },
{ "date": "2026-04-02", "request_count": 65 }
],
"items": [
{
"id": "use_01h...",
"endpoint": "/v1/text-to-speech/voc_01h...",
"method": "POST",
"status": 200,
"model": "bluebell-v1-en",
"billable_units": 128,
"cost": 0.128,
"cost_millicredits": 128,
"latency_ms": null,
"duration_ms": 2500,
"first_audio_chunk_ms": null,
"request_duration_ms": 842,
"trace_id": "trace_01h...",
"request_id": "req_01h...",
"text_characters": 128,
"action_code": "developer_text_to_speech",
"created_at": "2026-04-02T10:15:30Z"
}
]
}