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.

topicTopic name or wildcard, e.g. orders.*
pResume position (opaque cursor). Omit to start from now.
heartbeatSeconds 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.