Rate-Limits
Die API-Infrastruktur von Braze ist darauf ausgelegt, große Datenmengen für unsere Kund:innen zu verarbeiten. Zu diesem Zweck setzen wir API Rate-Limits pro Workspace durch.
Ein Rate-Limit ist die Anzahl der Anfragen, die die API in einem bestimmten Zeitraum empfangen kann. Viele lastbasierte Denial-of-Service-Vorfälle in großen Systemen sind unbeabsichtigt – sie werden durch Fehler in Software oder Konfigurationen verursacht und nicht durch böswillige Angriffe. Rate-Limits stellen sicher, dass unseren Kund:innen durch solche Fehler keine Braze API-Ressourcen vorenthalten werden. Wenn in einem bestimmten Zeitrahmen zu viele Anfragen gesendet werden, erhalten Sie möglicherweise Fehlerantworten mit dem Statuscode 429, der anzeigt, dass das Rate-Limit erreicht wurde.

API Rate-Limits können sich je nach ordnungsgemäßer Nutzung unseres Systems ändern. Wir empfehlen vernünftige Grenzen bei API-Aufrufen, um Schäden oder Missbrauch zu vermeiden.
Rate-Limits nach Anfragetyp
In der folgenden Übersicht finden Sie die standardmäßigen API-Rate-Limits für verschiedene Anfragetypen. Diese Standardlimits können auf Anfrage erhöht werden. Wenden Sie sich für weitere Informationen an Ihren Customer-Success-Manager.
Anfragen mit unterschiedlichen Rate-Limits
| Anfragetyp | Standard-API-Rate-Limit |
|---|---|
/users/track |
Anfragen: Die Rate-Limits variieren je nach Vertrag. Für Kund:innen, deren Preismodell Datenpunkte umfasst, wendet Braze ein Burst-Limit von 3.000 Anfragen pro drei Sekunden an. Für alle anderen Kund:innen werden die Limits gemäß Ihren Vertragsbedingungen konfiguriert. Kontaktieren Sie den Braze-Support oder Ihren Customer-Success-Manager bei Fragen zu Ihren Limits. Batching: Bis zu 75 Objekte insgesamt, kombiniert aus attributes, events und purchases, pro API-Anfrage. Kund:innen mit Legacy-Rate-Limits können bis zu 75 Objekte pro Array unabhängig voneinander einschließen. Weitere Informationen finden Sie unter Batching von User-Track-Anfragen.Limits für Monthly Active Users CY 24-25, Universal MAU, Web MAU und Mobile MAU: Siehe Limits für Monthly Active Users CY 24-25. |
/users/export/ids |
Bei Onboarding am oder nach dem 22. August 2024: 250 Anfragen pro Minute. Bei Onboarding vor dem 22. August 2024: 2.500 Anfragen pro Minute. |
/users/delete/users/alias/new/users/alias/update/users/identify/users/merge |
20.000 Anfragen pro Minute, geteilt zwischen den Endpunkten. |
/users/external_id/rename |
1.000 Anfragen pro Minute. |
/users/external_id/remove |
1.000 Anfragen pro Minute. |
/events/list |
1.000 Anfragen pro Stunde, geteilt mit dem /purchases/product_list-Endpunkt. |
/purchases/product_list |
1.000 Anfragen pro Stunde, geteilt mit dem /events/list-Endpunkt. |
/campaigns/data_series |
50.000 Anfragen pro Minute. |
/messages/send/campaigns/trigger/send/canvas/trigger/send/campaigns/trigger/schedule/create/canvas/trigger/schedule/create |
Für Broadcast-Aufrufe (bei breit angelegtem Targeting von Segmenten, Filtern oder einer Connected Audience) gelten 250 Anfragen pro Minute über alle Zielgruppen hinweg und 10 Anfragen pro Minute pro eindeutige Zielgruppe (es gilt das zuerst erreichte Limit). Andernfalls, wenn einzelne Empfänger:innen angesprochen werden, wird die Anfrage in das gemeinsame Rate-Limit von 250.000 Anfragen pro Stunde einbezogen. |
/sends/id/create |
100 Anfragen pro Tag. |
/subscription/status/set |
5.000 Anfragen pro Minute. |
/preference_center/v1/{preferenceCenterExternalId}/url/{userId}/preference_center/v1/list/preference_center/v1/{preferenceCenterExternalId} |
1.000 Anfragen pro Minute. |
/preference_center/v1/preference_center/v1/{preferenceCenterExternalId} |
10 Anfragen pro Minute. |
/catalogs/{catalog_name}/catalogs/catalogs |
50 Anfragen pro Minute, geteilt zwischen den Endpunkten. |
/catalogs/{catalog_name}/items/catalogs/{catalog_name}/items/catalogs/{catalog_name}/items |
16.000 Anfragen pro Minute, geteilt zwischen den Endpunkten. |
/catalogs/{catalog_name}/items/{item_id}/catalogs/{catalog_name}/items/{item_id}/catalogs/{catalog_name}/items/catalogs/{catalog_name}/items/{item_id}/catalogs/{catalog_name}/items/{item_id} |
50 Anfragen pro Minute, geteilt zwischen den Endpunkten. |
/catalogs/{catalog_name}/fields/{field_name}/catalogs/{catalog_name}/fields/catalogs/{catalog_name}/selections/{selection_name}/catalogs/{catalog_name}/selections |
50 Anfragen pro Minute, geteilt zwischen den Endpunkten. |
/scim/v2/Users/{id}/scim/v2/Users?filter={[email protected]}/scim/v2/Users/{id}/scim/v2/Users/{id}}/scim/v2/Users/ |
5.000 Anfragen pro Tag, pro Unternehmen, geteilt zwischen den Endpunkten. |
/cdi/integrations |
50 Anfragen pro Minute. |
/cdi/integrations/{integration_id}/sync |
20 Anfragen pro Minute. |
/cdi/integrations/{integration_id}/job_sync_status |
100 Anfragen pro Minute. |
/media_library/create |
100 Anfragen pro Stunde. |
/media_library/replace_file |
100 Anfragen pro Stunde. |
Anfragen mit gemeinsamen Rate-Limits
Für die folgenden Anfragen gilt ein gemeinsames Rate-Limit von 250.000 Anfragen pro Stunde.
/app_group/sdk_authentication/create/app_group/sdk_authentication/keys/app_group/sdk_authentication/delete/app_group/sdk_authentication/primary/campaigns/details/campaigns/list/campaigns/trigger/send(nur für Nicht-Broadcast-Aufrufe – solche, dieexternal_user_idsoderaliasesangeben)/campaigns/trigger/schedule/create(nur für Nicht-Broadcast-Aufrufe)/campaigns/trigger/schedule/delete/campaigns/trigger/schedule/update/canvas/data_series/canvas/data_summary/canvas/details/canvas/list/canvas/trigger/send(nur für Nicht-Broadcast-Aufrufe)/canvas/trigger/schedule/create(nur für Nicht-Broadcast-Aufrufe)/canvas/trigger/schedule/delete/canvas/trigger/schedule/update/content_blocks/create/content_blocks/info/content_blocks/list/content_blocks/update/email/blocklist/email/blacklist/email/bounce/remove/email/hard_bounces/email/spam/remove/email/status/email/unsubscribes/events/data_series/kpi/dau/data_series/kpi/mau/data_series/kpi/new_users/data_series/kpi/uninstalls/data_series/messages/live_activity/start/messages/live_activity/update/messages/send(nur für Nicht-Broadcast-Aufrufe)/messages/schedule/create/messages/schedule/delete/messages/schedule/update/messages/scheduled_broadcasts/segments/data_series/segments/details/segments/list/sends/data_series/sessions/data_series/sms/invalid_phone_numbers/sms/invalid_phone_numbers/remove/subscription/status/get/subscription/user/status/templates/email/create/templates/email/info/templates/email/list/templates/email/update/users/export/global_control_group/users/export/segment
Was zählt als dieselbe eindeutige Zielgruppe?
Dies gilt für die folgenden Endpunkte: /messages/send, /campaigns/trigger/send, /canvas/trigger/send, /campaigns/trigger/schedule/create und /canvas/trigger/schedule/create.
Bei diesen Endpunkten gelten Broadcast-Anfragen als an dieselbe eindeutige Zielgruppe gerichtet, wenn alle folgenden Kriterien übereinstimmen:
- Die getriggerte Campaign oder das Canvas (die
campaign_idodercanvas_idin Ihrer API-Anfrage, falls angegeben) - Die angesprochene Zielgruppe (die Segmente oder Filter, oder bei API-Campaigns die
segment_idin Ihrer API-Anfrage) - Die Connected-Audience-Filter (das
audience-Objekt in Ihrer API-Anfrage, falls angegeben)
Jede eindeutige Kombination dieser Attribute zählt als separate Zielgruppe, sodass das zusätzliche Rate-Limit pro eindeutiger Zielgruppe für jede Kombination unabhängig gilt.
API-Anfragen bündeln
Braze-APIs unterstützen das Bündeln (Batching) von Anfragen. Durch das Bündeln kann Braze so viele Daten wie möglich in einem einzigen API-Aufruf verarbeiten, sodass Sie nicht viele einzelne API-Aufrufe durchführen müssen. Es ist für Braze effizienter, Daten in Stapeln zu verarbeiten als einen Aufruf nach dem anderen. Zum Beispiel erfordert die Verarbeitung von 1.000 gebündelten API-Aufrufen weniger Ressourcen als die Verarbeitung von 75.000 einzelnen Aufrufen. Das Bündeln ist äußerst wichtig für jede Anwendung, die möglicherweise mehr als 75.000 Aufrufe pro Stunde benötigt.

Erhöhungen des REST-API-Rate-Limits werden bedarfsabhängig für Kund:innen geprüft, die die API-Batching-Funktionen nutzen.
Anfragen für den Endpunkt „Nutzer:innen erstellen und aktualisieren“ bündeln
Jede /users/track-Anfrage kann insgesamt bis zu 75 Objekte enthalten, die über attributes, events und purchases verteilt sind. Jedes Objekt kann eine:n Nutzer:in aktualisieren. Ein einzelnes Nutzerprofil kann durch mehrere Objekte aktualisiert werden.
Ältere Rate-Limits
Für Kund:innen mit älteren Rate-Limits kann jedes Array (attributes, events und purchases) unabhängig bis zu 75 Objekte enthalten, was ein kombiniertes Maximum von bis zu 225 Objekten pro Anfrage ergibt.
Weitere Informationen zu den Rate-Limits für /users/track finden Sie unter POST: Nutzer:innen erstellen und aktualisieren.
Anfragen an diesen Endpunkt werden in der Regel in folgender Reihenfolge verarbeitet:
- Attribute
- Events
- Purchases
Messaging-Endpunkt-Anfragen bündeln
Eine einzelne Anfrage an die Messaging-Endpunkte kann Folgendes erreichen:
- Bis zu 50 spezifische
external_ids, jeweils mit individuellen Nachrichtenparametern - Ein Segment beliebiger Größe, das im Braze-Dashboard erstellt wurde und durch seine
segment_idangegeben wird - Nutzer:innen, die zusätzlichen Zielgruppenfiltern beliebiger Größe entsprechen, die in der Anfrage als Connected Audience-Objekt definiert sind
Beispiel für eine gebündelte Anfrage
Das folgende Beispiel verwendet external_id, um einen einzelnen API-Aufruf für E-Mail und SMS durchzuführen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl --location --request POST 'https://rest.iad-01.braze.com/v2/subscription/status/set' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-REST-API-KEY' \
--data-raw '{
"subscription_groups":[
{
"subscription_group_id":"subscription_group_identifier",
"subscription_state":"subscribed",
"external_ids":["example-user","[email protected]"]
},
{
"subscription_group_id":"subscription_group_identifier",
"subscription_state":"subscribed",
"external_ids":["example-user","[email protected]"]
}
]
}
Überwachung Ihrer Rate-Limits
Jede einzelne an Braze gesendete API-Anfrage gibt die folgenden Informationen in den Antwort-Headern zurück:
| Header-Name | Beschreibung |
|---|---|
X-RateLimit-Limit |
Die maximale Anzahl von Anfragen, die Sie in einem bestimmten Intervall stellen können (Ihr Rate-Limit). |
X-RateLimit-Remaining |
Die Anzahl der verbleibenden Anfragen im aktuellen Rate-Limit-Fenster. |
X-RateLimit-Reset |
Der Zeitpunkt, zu dem das aktuelle Rate-Limit-Fenster zurückgesetzt wird, in UTC-Epoch-Sekunden. |
Diese Informationen sind absichtlich im Header der Antwort auf die API-Anfrage enthalten und nicht im Braze-Dashboard. Dadurch kann Ihr System in Echtzeit besser reagieren, während Sie mit unserer API interagieren. Wenn beispielsweise der Wert von X-RateLimit-Remaining unter einen bestimmten Schwellenwert fällt, möchten Sie möglicherweise den Versand verlangsamen, um sicherzustellen, dass alle Transaktions-E-Mails zugestellt werden. Oder wenn der Wert Null erreicht, möchten Sie möglicherweise den gesamten Versand pausieren, bis die in X-RateLimit-Reset angegebene Zeit abgelaufen ist.

HTTP-Header werden ausschließlich in Kleinbuchstaben zurückgegeben. Dieses Verhalten entspricht dem HTTP/2-Protokoll, das vorschreibt, dass alle Header-Feldnamen in Kleinbuchstaben geschrieben sein müssen. Dies unterscheidet sich von HTTP/1.X, wo Header-Namen nicht zwischen Groß- und Kleinschreibung unterschieden, aber häufig in verschiedenen Schreibweisen verwendet wurden.
Wenn Sie Fragen zu API-Limits haben, wenden Sie sich an Ihren Customer-Success-Manager oder eröffnen Sie ein Support-Ticket.

Sie können das API-Nutzungs-Dashboard verwenden, um eingehenden Datenverkehr anzuzeigen und mit Ihren Rate-Limits zu vergleichen.
Optimale Verzögerung zwischen Endpunkten

Wir empfehlen, eine Verzögerung von 5 Minuten zwischen aufeinanderfolgenden Endpunkt-Aufrufen einzuplanen, um Fehler zu minimieren.
Das Verständnis der optimalen Verzögerung zwischen Endpunkten ist entscheidend, wenn Sie aufeinanderfolgende Aufrufe an die Braze-API durchführen. Probleme entstehen, wenn Endpunkte von der erfolgreichen Verarbeitung anderer Endpunkte abhängen und bei zu frühem Aufruf Fehler auftreten könnten. Wenn Sie beispielsweise Nutzer:innen über unseren Endpunkt /user/alias/new einen Alias zuweisen und dann diesen Alias verwenden, um über unseren Endpunkt /users/track ein angepasstes Event zu senden – wie lange sollten Sie warten?
Unter normalen Bedingungen beträgt die Zeit für die Eventual Consistency unserer Daten 10–100 ms (1/10 Sekunde). Es kann jedoch Fälle geben, in denen diese Konsistenz länger dauert. Daher empfehlen wir, eine Verzögerung von 5 Minuten zwischen aufeinanderfolgenden Aufrufen einzuplanen, um die Fehlerwahrscheinlichkeit zu minimieren.
Begrenzungen der Payload-Größe
Braze-API-Anfragen unterliegen Begrenzungen der Payload-Größe, die von den Rate-Limits getrennt sind. Die meisten Endpunkte akzeptieren Anfragekörper mit bis zu 4 MB. Wenn eine Anfrage das geltende Limit überschreitet, kann Braze sie mit HTTP 413 Request Entity Too Large oder HTTP 400 Bad Request ablehnen, je nach Endpunkt.
Der Endpunkt /users/track/bulk hat ein Payload-Limit von 2 MB und gibt HTTP 400 zurück, wenn der Anfragekörper dieses Limit überschreitet. Informationen zu endpunktspezifischen Limits und zur Fehlerbehandlung finden Sie unter Nutzerdaten-Endpunkte.
Zurücksetzen der Rate-Limits
Rate-Limits werden zur vollen Stunde zurückgesetzt, nicht auf Basis eines gleitenden Zeitfensters. Wenn das Limit beispielsweise bei 250.000 Anfragen pro Stunde liegt, könnten Sie 50.000 Anfragen zwischen 22:00 und 22:59 Uhr und weitere 250.000 Anfragen zwischen 23:00 und 23:59 Uhr senden, da der Zähler zu Beginn jeder vollen Stunde zurückgesetzt wird.