Skip to main content
Events are the foundation of usage-based billing. Send events when billable actions occur, and meters aggregate them into charges.

API Reference — Events Ingestion

Vollständige API-Dokumentation mit Beispielen und Antwortcodes.

Event Structure

string
erforderlich
Eine eindeutige Kennung für das Ereignis, die dazu dient, doppelte Ereignisse bei Wiederholungen zu erkennen. Leite sie aus der Aktion ab, zum Beispiel Kunden-ID + Aktion + Zeitstempel, damit ein wiederholtes Ereignis dieselbe ID behält. Eine bei jeder Wiederholung neu erzeugte zufällige UUID führt dazu, dass dasselbe Ereignis zweimal gezählt wird.
string
erforderlich
Die Kunden-ID von Dodo Payments. Muss ein gültiger bestehender Kunde sein.
string
erforderlich
Der Ereignistyp, der mit dem Ereignisnamen deines Meters übereinstimmt (Groß-/Kleinschreibung beachten). Beispiele: api.call, image.generated.
string
ISO-8601-Zeitstempel (UTC). Wenn nicht angegeben, wird standardmäßig die aktuelle Serverzeit verwendet. Füge ihn für eine genaue Abrechnung bei verzögerten oder gebündelten Ereignissen hinzu. Zeitstempel, die älter als 1 Stunde sind oder mehr als 5 Minuten in der Zukunft liegen, werden abgelehnt.
object
Zusätzliche Eigenschaften für Aggregation und Filterung. Bis zu 50 Schlüssel; jeder Schlüssel kann bis zu 100 Zeichen und jeder Wert bis zu 500 Zeichen umfassen.
  • Numerische Werte: bytes, tokens, duration_ms
  • Filter: endpoint, method, quality

Sending Events

Bündele bis zu 1.000 Ereignisse pro Anfrage, um die Leistung zu verbessern. Die API erzwingt ein festes Limit von 1.000 Ereignissen pro Anfrage.

Ingestion Blueprints

Ready-made event patterns for common use cases. Start with a proven blueprint instead of building from scratch.

LLM Blueprint

Track AI token usage across OpenAI, Anthropic, Groq, Gemini, and more.

API Gateway Blueprint

Meter API requests with endpoint filtering and rate limiting support.

Object Storage Blueprint

Track file uploads and storage consumption for cloud storage services.

Stream Blueprint

Measure streaming bandwidth for video, audio, and real-time data.

Time Range Blueprint

Bill by elapsed time for serverless functions and compute instances.

View All Blueprints

See all available blueprints with detailed implementation guides.

Best Practices

Verwende deterministische IDs, um Duplikate zu verhindern: ${customerId}_${action}_${timestamp}.
Wiederhole Anfragen bei 5xx- und 429-Fehlern mit exponentiellem Backoff. Wiederhole andere 4xx-Fehler nicht.
Lasse Zeitstempel bei Echtzeitereignissen weg. Füge sie bei verzögerten oder gebündelten Ereignissen hinzu, um die Genauigkeit zu gewährleisten.
Track success rates and queue failed events for retry.

Troubleshooting

  • Der Ereignisname muss genau mit dem Meter übereinstimmen (Groß-/Kleinschreibung beachten)
  • Die Kunden-ID muss in deinem Konto vorhanden sein
  • Prüfe, ob Meter-Filter Ereignisse ausschließen
  • Stelle sicher, dass die Zeitstempel aktuell sind
Überprüfe, ob der API-Schlüssel korrekt ist, und verwende das Format: Bearer YOUR_API_KEY.
Stelle sicher, dass alle erforderlichen Felder vorhanden sind: event_id, customer_id, event_name.
  • Die Metadaten-Schlüssel müssen genau mit dem „Over Property“ des Meters übereinstimmen
  • Verwende Zahlen, keine Zeichenfolgen: tokens: 150 statt tokens: "150"

Next Steps

Create Meters

Define how your events are aggregated into billable quantities with filters and aggregation functions.

Ingestion Blueprints

Use ready-made blueprints for common use cases like LLM tracking, API gateways, and storage.

Complete Tutorial

Build a full AI image generator with usage-based billing from scratch.

API Reference

Complete API documentation with all parameters, response codes, and interactive testing.
Zuletzt geändert am 26. September 2026