Streaming API reference
The Fluxline Streaming API is a plain HTTP interface for publishing and consuming events in real time. It speaks JSON, uses bearer tokens, and works with any HTTP client — including curl. The current version is v3. The base URL is https://api.fluxline.io.
Authentication
Every request must include a bearer token scoped to a project. Create tokens in the dashboard under Settings → API tokens.
curl https://api.fluxline.io/api/v3/topics \
-H "Authorization: Bearer $FLUXLINE_TOKEN"
Tokens are also accepted via a session cookie for browser-based consumers, which lets long-lived streams survive proxy and CDN hops without re-sending the token on every request.
Rate limits
Publishing is limited per topic; the default is 50,000 events/second on the Team plan and is raised on request. Streaming connections are not rate-limited but count against your concurrent-consumer quota.
GET Subscribe to a stream
GET /api/v3/stream
Opens a long-lived response and delivers events as they arrive. The connection stays open; each event is flushed as a chunk. Use the topic query parameter to filter, and the p (position) parameter to resume from a cursor.
topic | Topic name or wildcard, e.g. orders.* |
p | Resume position (opaque cursor). Omit to start from now. |
heartbeat | Seconds between keep-alive comments (default 20). |
curl -N "https://api.fluxline.io/api/v3/stream?topic=orders.*" \
-H "Authorization: Bearer $FLUXLINE_TOKEN" \
-H "Accept: text/event-stream"
data: {"id":"evt_8f2a","topic":"orders.created","ts":1767225600,"body":{...}}
data: {"id":"evt_8f2b","topic":"orders.paid","ts":1767225601,"body":{...}}
: heartbeat
POST Publish an event
POST /api/v3/topics/{topic}/events
Publishes one or more events. Publishes are idempotent when you supply an Idempotency-Key header.
curl -X POST https://api.fluxline.io/api/v3/topics/orders.created/events \
-H "Authorization: Bearer $FLUXLINE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"id":"ord_10Aq","total":4200,"currency":"eur"}'
Cursors & replay
Each delivered event carries an opaque position. Persist the last position and pass it back as p to resume exactly where you left off — events are retained and replayable for up to 30 days.
Errors
Fluxline uses conventional HTTP status codes. 2xx indicates success, 4xx a client error (with a machine-readable code), and 5xx a server error. Streaming responses that end unexpectedly should be retried with the last cursor.
{ "error": { "code": "invalid_token", "message": "The API token is missing or expired." } }
Status & uptime
Live platform status, incident history, and regional latency are published at status.fluxline.io. Programmatic uptime is available at GET /api/v3/health.