job

list all completed jobs

get/w/{workspace}/jobs/completed/list

Path parameters

workspacestring required

Query parameters

order_descboolean

order by desc order (default true)

created_bystring

filter by exact matching user creator. Supports comma-separated list (e.g. 'alice,bob') and negation by prefixing all values with '!' (e.g. '!alice,!bob')

labelstring

filter by exact matching job label. Supports comma-separated list (e.g. 'deploy,release') and negation by prefixing all values with '!' (e.g. '!deploy,!release')

workerstring

filter by worker this job ran on. Supports comma-separated list (e.g. 'worker-1,worker-2') and negation by prefixing all values with '!' (e.g. '!worker-1,!worker-2')

parent_jobstring uuid

The parent job that is at the origin and responsible for the execution of this script if any

script_path_exactstring

filter by exact matching script path. Supports comma-separated list (e.g. 'f/script1,f/script2') and negation by prefixing all values with '!' (e.g. '!f/script1,!f/script2')

script_path_startstring

filter by script path prefix. Supports comma-separated list (e.g. 'f/folder1,f/folder2') and negation by prefixing all values with '!' (e.g. '!f/folder1,!f/folder2')

schedule_pathstring

mask to filter by schedule path

script_hashstring

mask to filter exact matching path

started_beforestring date-time

filter on started before (inclusive) timestamp

started_afterstring date-time

filter on started after (exclusive) timestamp

successboolean

filter on successful jobs

status'success' | 'failure' | 'canceled' | 'skipped'

filter on the exact completed job status. Unlike success=true (which also matches skipped), status=success matches only success.

job_kindsstring

filter by job kind. Supports comma-separated list of values ('preview', 'script', 'dependencies', 'flow') and negation by prefixing all values with '!' (e.g. '!preview,!dependencies')

argsstring

filter on jobs containing those args as a json subset (@> in postgres)

resultstring

filter on jobs containing those result as a json subset (@> in postgres)

allow_wildcardsboolean

allow wildcards (*) in the filter of label, tag, worker

tagstring

filter by tag/worker group. Supports comma-separated list (e.g. 'gpu,highmem') and negation by prefixing all values with '!' (e.g. '!gpu,!highmem')

pageinteger

which page to return (start at 1, default 1)

per_pageinteger

number of items to return for a given page (default 30, max 100)

is_skippedboolean

is the job skipped

resolvedboolean

filter on whether a failure has been marked as handled. true keeps only resolved failures, false hides them

is_flow_stepboolean

is the job a flow step

has_null_parentboolean

has null parent

is_not_scheduleboolean

is not a scheduled job

Response

All completed jobs

workspace_idstring
idstring uuid required
parent_jobstring uuid
created_bystring required
created_atstring date-time required
started_atstring date-time required
completed_atstring date-time
duration_msinteger required
successboolean required
script_pathstring
script_hashstring
argsScriptArgs

The arguments to pass to the script or flow

{"stackTrail":"components:schemas:CompletedJob:properties:result","oasType":"schema","type":"unknown","description":"For large results, this may be the placeholder string 'WINDMILL_TOO_BIG'.\nUse the completed job result endpoint to retrieve the full result.\n"}
logsstring
deletedboolean
raw_codestring
canceledboolean required
canceled_bystring
canceled_reasonstring
job_kind'script' | 'preview' | 'dependencies' | 'flow' | 'flowdependencies' | 'appdependencies' | 'flowpreview' | 'script_hub' | 'identity' | 'deploymentcallback' | 'singlestepflow' | 'flowscript' | 'flownode' | 'appscript' | 'aiagent' | 'unassigned_script' | 'unassigned_flow' | 'unassigned_singlestepflow' required
schedule_pathstring
permissioned_asstring required

The user (u/userfoo) or group (g/groupfoo) whom the execution of this script will be permissioned_as and by extension its DT_TOKEN.

flow_statusFlowStatus — unresolved $ref
raw_flowFlowValue — unresolved $ref
is_flow_stepboolean required
language'python3' | 'deno' | 'go' | 'bash' | 'powershell' | 'postgresql' | 'mysql' | 'bigquery' | 'snowflake' | 'mssql' | 'oracledb' | 'graphql' | 'nativets' | 'bun' | 'php' | 'rust' | 'ansible' | 'csharp' | 'nu' | 'java' | 'ruby' | 'rlang' | 'duckdb' | 'bunnative' | 'dbt'
is_skippedboolean required
emailstring required
visible_to_ownerboolean required
mem_peakinteger
tagstring required
priorityinteger
labelsstring[]
self_wait_time_msnumber
aggregate_wait_time_msnumber
preprocessedboolean
is_retryboolean
resolvedboolean

whether this failure has been marked as handled

resolved_bystring

who resolved the failure. Enterprise-only, so also absent for a manual resolution outside enterprise; use resolved_automatically to tell the two apart

resolved_atstring date-time
resolution_notestring
resolved_automaticallyboolean

true when a succeeding retry resolved this rather than a person. Explicit rather than inferred from an absent resolved_by, which is also absent for a manual resolution outside enterprise

trigger_kind'webhook' | 'default_email' | 'email' | 'schedule' | 'http' | 'websocket' | 'postgres' | 'kafka' | 'nats' | 'mqtt' | 'amqp' | 'sqs' | 'gcp' | 'azure' | 'google' | 'github' | 'asset' | 'freshness' | 'app' | 'ui'

job trigger kind (schedule, http, websocket...)

workerstring

Changes