Events
List events
Authorization
API key Logs: readAuthorizationBearer <token>
API key (sf_...) with any of the required scopes. Generate it in the Spotflow portal on the settings page.
In: header
Scope: Logs: read
Path Parameters
workspaceId*string
Format
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
filter*
offset?||
Match
^-?(?:0|[1-9]\d*)$Format
int32limit?||
Match
^-?(?:0|[1-9]\d*)$Format
int32Response Body
application/json
application/problem+json
curl -X POST "https://example.com/workspaces/00000000-0000-0000-0000-000000000001/events" \ -H "Content-Type: application/json" \ -d '{ "filter": { "fromTimestamp": "2026-01-12T00:00:00+00:00", "toTimestamp": "2026-01-13T00:00:00+00:00", "severity": [ "Error", "Critical" ], "device": [ { "contains": "thermostat" } ], "body": [ { "contains": "timeout" } ], "eventType": [ "Log", "CrashReport" ], "labels": { "component": [ { "equals": "network" } ] }, "firmware": { "firmwareIds": [ "q8Fd53pLn1Yr" ], "firmwareVersionIds": [ "r2Kt75mXc8Vd" ] } }, "offset": 0, "limit": 100 }'Events matching the filter.
{ "events": [ { "deviceId": "thermostat-0042", "timestamp": "2026-01-12T14:05:12.482+00:00", "deviceTimestampMs": 1768226712482, "deviceUptimeMs": 864320, "body": "Connection to broker timed out after 30000 ms", "bodyTemplate": "Connection to broker timed out after {} ms", "severity": "Error", "bodyTemplateValues": [ "30000" ], "labels": { "component": "network" }, "eventType": "Log", "coreDumpId": "", "crashReportId": "", "buildId": "8f3a1c9e2b7d4506", "sequenceNumber": 91422, "transportRoute": [ "mqtt" ] } ]}