Skip to main content
GET
Get job logs.

Authorizations

Authorization
string
header
required

Bearer JWT token or API Key (sk-*).

Path Parameters

jobId
string
required

Query Parameters

skip
number

Number of rows to skip before pagination starts. Parsed from a query-string integer.

Required range: x >= 0
Example:

0

take
number

Maximum number of job log rows to return. Job logs are hard-capped at 1000 rows per request.

Required range: 0 <= x <= 1000
Example:

200

count
boolean

Include the total count in the response envelope. Accepts boolean query values such as true or false.

Example:

true

filter
string

Job log filter tree as JSON. Valid log filter fields include time, operationTime, logId, severity, event, message, operationId, userId, duration, status, service, url, templateId, templatePath, error.

Example:

"{\"and\":[{\"field\":\"severity\",\"op\":\"eq\",\"value\":\"ERROR\"},{\"field\":\"message\",\"op\":\"ilike\",\"value\":\"%timeout%\"}]}"

sort
string

Job log sort fields are time, operationTime, logId, severity, event, message. Job logs do not expose createdAt; use time or operationTime for chronological ordering.

Example:

"operationTime,logId"

distinct
string

Optional QueryWrapper DISTINCT ON logical fields as a JSON array string, indexed array query object, array, or legacy CSV. The wrapper rewrites selected distinct fields into distinct select items.

Example:

"category,global"

fields
string

Job log response fields are fixed to logId, time, severity, event, message, args, operationTime. Custom field projection is ignored for this endpoint.

Example:

"[\"logId\",\"time\",\"severity\",\"event\",\"message\",\"args\",\"operationTime\"]"

joins
string

Optional QueryWrapper join definitions as a JSON string or bracket-style query object. This is only honored by endpoints that explicitly enable dynamic joins, such as dynamic database data reads. Each join has table, alias, type (left or inner), and an on condition.

Example:

"[{\"table\":\"groups_users\",\"alias\":\"gu\",\"type\":\"left\",\"on\":{\"left\":\"gu.groupsGroupId\",\"op\":\"=\",\"right\":\"g.groupId\"}}]"

groupBy
string

Optional QueryWrapper groupBy logical fields as a JSON array string, indexed array query object, array, or legacy CSV. Only honored when the endpoint enables dynamic grouping or already has grouped defaults.

Example:

"[\"category\",\"global\"]"

cast
string

Optional QueryWrapper cast mapping as a JSON string or bracket-style query object. Keys are selected aliases or logical fields; values are database definition types such as TEXT, INTEGER, BIGINT, NUMERIC, BOOLEAN, DATE, TIMESTAMP, TIMESTAMPTZ, JSON, JSONB, or UUID where supported.

Example:

"{\"userCount\":\"INTEGER\"}"

with
string

Optional QueryWrapper CTE definitions as a JSON string or bracket-style query object. Only honored by endpoints that explicitly enable dynamic CTEs.

Example:

"[{\"name\":\"active_groups\",\"query\":{\"from\":{\"table\":\"groups\",\"alias\":\"g\",\"definition\":[]}}}]"

debug
boolean

Enable QueryWrapper debug output for the request, including compiled SQL, bound params, and bounded EXPLAIN plans when the underlying query service supports it.

Example:

false

Response

OK.

data
object[]
required

Current page of job log rows.

Example:
results
number
required

Number of rows returned in the current response.

Example:

100

next
boolean
required

Indicates there is another page available.

Example:

true

total
number

Total number of matching rows when count was requested.

Example:

1000

Last modified on September 5, 2026