Billing Public API
Kontostand, Modellnutzung und Modellkosten aus eigenen Abrechnungstools abrufen
Mit der Billing Public API kannst du Atlas Cloud-Abrechnungsdaten aus Skripten, Dashboards und Finanzsystemen lesen.
Base URL: https://api.atlascloud.ai/public/v1
Endpunkte
| Endpoint | Beschreibung |
|---|---|
GET /balance | Aktueller Kontostand und Credit-Grant-Zusammenfassung |
GET /model-usage | Tägliche Modellnutzung nach UTC-Tagen |
GET /model-costs | Tägliche Modellkosten nach UTC-Tagen |
Vollständige Schemas findest du in der API-Referenz:
Authentifizierung
Sende einen Atlas Cloud API Key im Authorization Header:
Authorization: Bearer apikey-...API Keys erstellst du unter API Keys. Der geheime Schlüssel beginnt mit apikey-.
Einige Antworten und Filter verwenden eine API Key public ID wie ak_.... Diese ID kann in Abrechnungsberichten angezeigt werden, ist aber kein Credential.
Berechtigungen
/model-usage und /model-costs verwenden standardmäßig scope=self und zeigen Nutzung, die dem authentifizierten Benutzer zugeordnet ist, einschließlich eigener API Keys.
Mit scope=account kannst du kontoweite Nutzung und Kosten abfragen. Dafür ist account-level model billing read permission erforderlich. /balance verwendet immer account scope und benötigt account balance read permission.
Owner persönlicher Konten können ihre eigenen Abrechnungsdaten lesen. In Team-Konten verwende eine Account Admin- oder Finance-Rolle.
Kontostand Abfragen
curl "https://api.atlascloud.ai/public/v1/balance" \
-H "Authorization: Bearer apikey-..."Beträge werden als Strings mit sechs Nachkommastellen und Währung zurückgegeben:
{
"value": "125.500000",
"currency": "usd"
}Parameter Für Nutzung Und Kosten
start_date und end_date sind erforderlich, nutzen UTC und das Format YYYY-MM-DD. end_date ist exklusiv; der Zeitraum darf maximal 180 Tage umfassen.
Gemeinsame Query-Parameter für /model-usage und /model-costs. Ohne group_by[] werden tägliche Gesamtsummen zurückgegeben:
| Parameter | Beschreibung |
|---|---|
start_date | Inklusives UTC-Startdatum im Format YYYY-MM-DD |
end_date | Exklusives UTC-Enddatum im Format YYYY-MM-DD; der Bereich kann höchstens 180 Tage umfassen |
scope | self oder account; Standard ist self |
group_by[] | Optionale Gruppierung. Unterstützte Sets: model_type, model, api_key oder model plus api_key; für Aufschlüsselung nach Modell group_by[]=model verwenden |
model_types[] | Wiederholbar mit text, image oder video |
model_ids[] | Filter nach Modell-IDs; maximal 100 Werte |
api_key_ids[] | Filter nach ak_... API Key public IDs; maximal 100 Werte |
limit | Zeilen pro Seite, 1 bis 1000; Standard ist 100 |
page | Opaquer Cursor aus next_page |
Array-Parameter müssen wiederholt gesendet werden. Kommagetrennte Werte werden abgelehnt.
Nutzung Abfragen
Die Standardantwort gibt tägliche Nutzungsgesamtsummen zurück.
curl "https://api.atlascloud.ai/public/v1/model-usage?start_date=2026-05-01&end_date=2026-05-08" \
-H "Authorization: Bearer apikey-..."Kosten Abfragen
/model-costs verwendet denselben Datumsbereich, Scope, dieselben Filter, Gruppierungen und Pagination-Parameter wie /model-usage. Ohne group_by[] werden tägliche Gesamtkosten zurückgegeben.
curl "https://api.atlascloud.ai/public/v1/model-costs?start_date=2026-05-01&end_date=2026-05-08&scope=account&group_by[]=model&group_by[]=api_key" \
-H "Authorization: Bearer apikey-..."Pagination
Wenn has_more true ist, sende next_page unverändert als Query-Parameter page zurück. Der Cursor ist opaque; analysiere ihn nicht und ändere die übrigen Query-Parameter nicht.
Fehler und Limits
Fehler verwenden ein stabiles Envelope:
{
"error": {
"type": "invalid_request_error",
"code": "invalid_date",
"message": "start_date must be YYYY-MM-DD",
"param": "start_date"
},
"request_id": "req_..."
}Rate Limits geben 429 rate_limit_error zurück und können einen Retry-After Header enthalten.