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

EndpointBeschreibung
GET /balanceAktueller Kontostand und Credit-Grant-Zusammenfassung
GET /model-usageTägliche Modellnutzung nach UTC-Tagen
GET /model-costsTä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:

ParameterBeschreibung
start_dateInklusives UTC-Startdatum im Format YYYY-MM-DD
end_dateExklusives UTC-Enddatum im Format YYYY-MM-DD; der Bereich kann höchstens 180 Tage umfassen
scopeself 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
limitZeilen pro Seite, 1 bis 1000; Standard ist 100
pageOpaquer 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.