The Events API tracks conversions in your app. Attach metadata for Commerce, Content, Lifecycle, and Custom events to measure user behavior and attribute it to your campaigns.
Important considerations
coarse_key and update_conversion_value) in the API response so your app can update its conversion value accordingly. See the SKAdNetwork guide for details.Rate limits
The Events API enforces rate limits on a per-app basis. If you exceed the limit, the API returns a 429 Rate Limit Reached error. Back off and retry with exponential delay.
Rate limits are enforced per app. Contact your Branch account manager for your app's specific limits.
POST/event/custom
Use this endpoint to log custom events.
Important considerations
coarse_key and update_conversion_value) in the API response so your app can update its conversion value accordingly. See the SKAdNetwork guide for details.The Branch Key of the originating app obtained in your Account Settings.
The name of the event to log. Can be a custom event name string, for example, "picture swiped".
Recommended. The media type the client expects in the response. Should be application/json.
Recommended. The media type of the request body. Should be application/json.
Additional custom key-value pairs that you want attached to the event. Values may be of any JSON type. Attached to events retrieved via Exports and sent via Webhooks.
Additional metadata for the event.
Information about the user and the device the event occurred on.
Required identifiers: You must include at least one of the following in user_data:
developer_identity, orbrowser_fingerprint_id, oros=iOS AND idfa, oros=iOS AND idfv, oros=Android AND android_id, oros=Android AND aaidOptional. Override the IP address Branch uses for the event (for example, when forwarding events server-to-server from your own backend).
Two requirements must be met for this header to function:
user_data.ip in the request body with the same IP value. Sending the header alone isn't sufficient—the body field is what Branch persists for attribution.Success. Returns 400 and 429 on failure — see the response panel for the error shape.
POST/event/standard
Use this endpoint to log standard events, that is, Commerce, Content, and User Lifecycle events.
Important considerations
coarse_key and update_conversion_value) in the API response so your app can update its conversion value accordingly. See the SKAdNetwork guide for details.The Branch Key of the originating app obtained in your Account Settings.
The name of the event to log. Must be one of the following standard Branch Event names:
ADD_TO_CARTADD_TO_WISHLISTVIEW_CARTINITIATE_PURCHASEADD_PAYMENT_INFOCLICK_ADPURCHASESPEND_CREDITSVIEW_ADSEARCHVIEW_ITEMVIEW_ITEMSInformation about the user and the device the event occurred on.
Required identifiers: You must include at least one of the following in user_data:
developer_identity, orbrowser_fingerprint_id, oros=iOS AND idfa, oros=iOS AND idfv, oros=Android AND android_id, oros=Android AND aaidRecommended. The media type the client expects in the response. Should be application/json.
Recommended. The media type of the request body. Should be application/json.
Additional custom key-value pairs that you want attached to the event. Values may be of any JSON type. Attached to events retrieved via Exports and sent via Webhooks.
The event alias that you define, used in addition to the event name defined above.
Optional. Override the IP address Branch uses for the event (for example, when forwarding events server-to-server from your own backend).
Two requirements must be met for this header to function:
user_data.ip in the request body with the same IP value. Sending the header alone isn't sufficient—the body field is what Branch persists for attribution.Success. Returns 400 and 429 on failure — see the response panel for the error shape.