Overview
The Event Ingestion API accepts structured events from the AppDNA SDKs. Events are batched on the client, sent to the ingestion endpoint, and processed through the analytics pipeline for querying and dashboards.Endpoints
Ingest Events
x-api-key header)
Accepts a batch of events from the SDK. Each event follows the envelope schema defined below.
Request body:
A batch of 1 to 500 events under the batch key:
HTTP 202 Accepted
errors array is included when one or more events are rejected.
Identify User
x-api-key header)
Links an anonymous device to a known user ID. Call this when the user logs in or creates an account.
Request body:
anon_id, user_id, and ts_ms (Unix timestamp in milliseconds) are required. traits is an optional object of user attributes.
Health Check
Event Envelope Schema
Every event sent to the ingestion API must conform to theEventSchema envelope:
Field Reference
Auto-Tracked Events
The AppDNA SDKs automatically track the following events without any additional code. These events are fired across all four SDKs (iOS, Android, Flutter, React Native):Session Events
Push Notification Events
Purchase Events
Onboarding Events
Paywall and Experiment Events
Other Events
Batching Behavior
The SDK batches events on the client to minimize network overhead:Events are also flushed immediately when the app enters the background, ensuring no data loss during session transitions.
Webhook Triggers
Certain ingestion events automatically trigger webhooks if configured on your account:Webhook delivery is asynchronous and does not affect ingestion latency. See the Webhooks documentation for payload format and retry policy.

