Stream logs

Opens a Server-Sent Events stream of new workspace logs for near real-time ingestion. Filter at connection time and optionally replay retained rows before entering live mode.
https://api.unipost.dev
GET/v1/logs/stream?{category}&{status}&{level}&{platform}&{profile_id}&{social_account_id}&{post_id}&{request_id}&{error_code}&{after_id}
Authorization
In header · Bearer <token>
In header · text/event-stream
In header · integer
Query

Authorization

AuthorizationBearer <token>In header
Workspace API key. Stream auth uses the header, never a query-string secret.
Accepttext/event-streamIn header
Required to open the SSE stream.
Last-Event-IDintegerIn header
Optional. On reconnect, replays retained rows with a greater id. Ignored when after_id is present.

Query Params

categoryOptionalstring
Exact category filter.
Valuespublishing | api_request | oauth | webhook | system
statusOptionalstring
Exact status filter.
Valuessuccess | warning | error
levelOptionalstring
Exact level filter.
Valuesdebug | info | warn | error
platformOptionalstring
Exact platform filter.
profile_idOptionalstring
Exact profile filter.
social_account_idOptionalstring
Exact account filter.
post_idOptionalstring
Exact post filter.
request_idOptionalstring
Exact request filter.
error_codeOptionalstring
Exact error-code filter.
after_idOptionalinteger
Replays retained rows with id greater than this value before entering live mode. Wins over Last-Event-ID.

Event

eventstring
Always log.created.
idinteger
The log id. SSE clients echo it as Last-Event-ID on reconnect.
dataobject
Compact JSON log object, the same shape as a list row. Never includes raw payloads.

Response Body

401
error.codestring
Such as "UNAUTHORIZED", "VALIDATION_ERROR", or "RATE_LIMITED".
error.normalized_codestring
Lowercase alias.
error.messagestring
Human-readable error message.
request_idstring
Request identifier for debugging and support.
403
error.codestring
Such as "UNAUTHORIZED", "VALIDATION_ERROR", or "RATE_LIMITED".
error.normalized_codestring
Lowercase alias.
error.messagestring
Human-readable error message.
request_idstring
Request identifier for debugging and support.
422
error.codestring
Such as "UNAUTHORIZED", "VALIDATION_ERROR", or "RATE_LIMITED".
error.normalized_codestring
Lowercase alias.
error.messagestring
Human-readable error message.
request_idstring
Request identifier for debugging and support.
429
error.codestring
Such as "UNAUTHORIZED", "VALIDATION_ERROR", or "RATE_LIMITED".
error.normalized_codestring
Lowercase alias.
error.messagestring
Human-readable error message.
request_idstring
Request identifier for debugging and support.
Replay and reconnect
Each event carries its log id. To resume after a disconnect, either reconnect with after_id={last_id} or let your SSE client send the standard Last-Event-ID header automatically. When both are present, after_id wins. The server replays retained rows with a greater id in ascending order, then switches to live delivery without dropping or duplicating events.
Replay only reaches rows still within your plan's retention window. For deep historical backfill, use GET /v1/logs with cursor pagination instead.
The server sends : keepalive comments every 25 seconds. Events and replay rows are always filtered to your authenticated workspace before they are sent.