Report an event from your backend
send_server_eventReport a user event from your backend by customer_user_id, without a device installation ID, so it attaches to the resolved install and reaches configured destinations.
Instructions
Report an event for one of your users from your own backend, by the customer_user_id your app passed to AttriKit.setUserID; no device installation id is needed. The event is attached to the install that id resolves to and reaches the destinations whose sender for its family is Your servers. Requires a write-scoped API key. Answers status accepted, duplicate (this event_id was already stored) or suppressed (consent.measurement is not granted, so nothing was collected), with the install_epoch_id it resolved to. 404 customer_user_not_found means no install identified with this id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| app_id | Yes | The AttriKit app id. | |
| consent | Yes | The per-event consent SDK events carry. An event whose measurement is not granted is not collected. | |
| event_id | Yes | Your id for this event. A second event with the same id is a duplicate and is not written again. | |
| event_name | Yes | Canonical event name, for example purchase or subscription_started. | |
| properties | No | Scalar values only, at most 64 keys. Revenue is value (major units) or price_minor_units with currency, an ISO 4217 code. | |
| occurred_at | Yes | When the event happened, ISO 8601 with a UTC offset. | |
| event_version | Yes | ||
| idempotency_key | No | Stable retry key for this exact mutation. | |
| customer_user_id | Yes | The opaque id your app passed to AttriKit.setUserID. Refused when it looks like an email address or phone number. Hashed on arrival, never stored. |