API ReferenceLogs
List log entries
Returns a cursor-paginated list of log entries, optionally filtered by level and time range.
Requires logs:read scope.
Coming soon. This endpoint is not yet available.
Authorization
bearerAuth logs:readAuthorizationBearer <token>
API token from your dashboard.
Format: so_live_... (production) or so_test_... (test mode).
Tokens carry one or more scopes. Request only the scopes your integration needs:
| Scope | Grants |
|---|---|
media:read | List and retrieve files |
media:write | Upload and delete files |
logs:read | Read log entries |
logs:write | Ingest log entries |
cases:read | Read cases |
cases:write | Create and update cases |
apps:read | Read apps |
apps:write | Submit apps |
usage:read | Read quota usage |
members:read | List organisation members |
members:write | Invite and remove members |
billing:read | Read billing and subscription info |
tokens:write | Create and revoke API tokens |
In: header
Scope: logs:read
Query Parameters
limit?integer
Number of results per page. Default 50, maximum 100.
Default
50Range
1 <= value <= 100cursor?string
Opaque pagination cursor returned as next_cursor in the previous response.
level?string
Filter by log level
Value in
"debug" | "info" | "warn" | "error" | "fatal"from?string
Start of time range (ISO 8601)
Format
date-timeto?string
End of time range (ISO 8601)
Format
date-timeResponse Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/logs"{
"logs": [
{
"id": "string",
"level": "debug",
"message": "string",
"meta": {},
"created_at": "2019-08-24T14:15:22Z"
}
],
"next_cursor": "string",
"has_more": true
}{
"error": {
"code": "bad_request",
"message": "missing required field"
}
}{
"error": {
"code": "unauthorized",
"message": "missing or invalid authorization token"
}
}{
"error": {
"code": "internal",
"message": "an unexpected error occurred"
}
}