ServerOps.ggbeta
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.

GET
/logs

Authorization

bearerAuth logs:read
AuthorizationBearer <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:

ScopeGrants
media:readList and retrieve files
media:writeUpload and delete files
logs:readRead log entries
logs:writeIngest log entries
cases:readRead cases
cases:writeCreate and update cases
apps:readRead apps
apps:writeSubmit apps
usage:readRead quota usage
members:readList organisation members
members:writeInvite and remove members
billing:readRead billing and subscription info
tokens:writeCreate and revoke API tokens

In: header

Scope: logs:read

Query Parameters

limit?integer

Number of results per page. Default 50, maximum 100.

Default50
Range1 <= value <= 100
cursor?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)

Formatdate-time
to?string

End of time range (ISO 8601)

Formatdate-time

Response 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"
  }
}