Authentication
All requests require an API key passed as a Bearer token.https://api.flokit.ai
Send a single event
Request fields
Event name from the event taxonomy. E.g.
paywall_viewed, subscription_started.Your backend user identifier. Required if
anonymous_id is not present.Pre-login device or session identifier. Recommended for events that occur before a user account is created. FloKit links
anonymous_id to user_id automatically when both appear together in any event.ISO 8601 datetime of when the event occurred. Use the event’s actual occurrence time, not the time the request is sent.
Any additional event properties as key/value pairs. See the event taxonomy for recommended properties per event type.
Error responses
| Status | Meaning |
|---|---|
200 OK | Event accepted |
400 Bad Request | Validation error — response body includes error and message |
401 Unauthorized | Missing or invalid API key |
429 Too Many Requests | Rate limit exceeded — see headers for retry-after |
Idempotency
Include anIdempotency-Key header to safely retry requests without creating duplicate events. FloKit deduplicates on this key within a 24-hour window.
200 OK with the original event_id — no duplicate is stored.
Event ordering
Send events in chronological order where possible. Out-of-order events are accepted and will be processed correctly, but funnel metrics may appear inconsistent for a brief period until FloKit’s event sorter catches up. For historical imports with large volumes of out-of-order events, use the batch endpoint and sort events bytimestamp before sending.