Skip to content

List all tasks

GET
/api/tasks
curl --request GET \
--url http://localhost:9477/api/tasks

OK

Media type application/json
array | null
object
api_trigger
required
boolean
autostart
required

For services: whether instances start at boot. False boots in the stopped state until started via API/UI.

boolean
catch_up

What to do when cron ticks are missed during downtime

string
Allowed values: latest all skip
compose

Provenance metadata for tasks imported from a docker compose file

object
file
required
string
project_name
required
string
service
string
cron
string
depends_on

For services: service names that must be healthy before this one starts at boot — boot ordering only, not a workflow DAG

array | null
description
string
env

Environment variables overlaid on the task’s process env. Values are visible to authenticated operators in the API/UI; env_file values merge in beneath the inline entries.

object
key
additional properties
string
env_file

Path to a dotenv file whose KEY=VALUE pairs merge into env (inline entries win). Values are visible in the API/UI like inline env.

string
exit_codes

Process exit codes treated as success; defaults to [0]

array | null
graceful_stop

Window between the stop signal and SIGKILL when a run is stopped, in nanoseconds

integer format: int64
group
string
healthy_after

For services: an instance that runs at least this long counts as healthy — resets the restart counter and clears the failed-start streak; fast exits below it count toward start_retries, in nanoseconds

integer format: int64
instances

For services: number of always-running instances

integer format: int64
jitter

Cap how far a cron task’s start may slip so tasks sharing a fire time take turns through a daemon-wide one-at-a-time gate instead of stampeding; a run starts as soon as the gate frees and slips up to this window only under contention, in nanoseconds

integer format: int64
keep_for

Retention window in nanoseconds; 0 means no cap was configured

integer format: int64
keep_runs

Row-count retention cap; 0 means no cap was configured

integer format: int64
kind

Whether this is a scheduled task or an always-on service

string
Allowed values: task service
log_max_size

Per-run log size cap in bytes

integer format: int64
log_on_full

What to do when log output exceeds log_max_size

string
Allowed values: drop_new drop_old kill_task
max_catch_up_runs

Cap on catch-up runs triggered when catch_up = all

integer format: int64
max_concurrent

Maximum overlapping runs allowed for this task

integer format: int64
name
required
string
next_run_at
string
on_overlap

How overlapping runs are handled

string
Allowed values: queue skip terminate
parameters

Per-execution parameters an operator may supply at manual trigger time; scheduled runs use the declared defaults

array | null
object
allow_custom

When choices is set, allow values outside the list

boolean
choices

Allowed values; renders as a dropdown

array | null
default

Default value used by scheduled runs and pre-filled in manual forms

string
description

Help text shown under the field

string
key
required

Canonical parameter key (env name, positional label, or option/flag token)

string
kind
required

How the parameter renders into the run

string
Allowed values: env arg option flag
required

Whether a manual trigger must supply a value

boolean
type

Value type; defaults to string

string
Allowed values: string number
priority

For services: boot start order, lowest first (name breaks ties). Start order only — not a dependency.

integer format: int64
queue_max

Maximum runs that can wait when on_overlap = queue

integer format: int64
restart

Whether and when a task is restarted after completion

string
Allowed values: never always on_failure
restart_backoff

Backoff curve between consecutive restarts

string
Allowed values: constant linear exponential
restart_delay

Base delay before each restart, in nanoseconds

integer format: int64
retry_attempts
integer format: int64
retry_backoff

Backoff curve between consecutive retries

string
Allowed values: constant linear exponential
retry_delay

Base delay before each retry, in nanoseconds

integer format: int64
run_on_start

For tasks: fire once at daemon startup, in addition to any cron schedule

boolean
secrets_file

Path to a dotenv file whose KEY=VALUE pairs are injected into the task’s process env. The path is visible in the API/UI; keys and values never leave the daemon.

string
shell

Absolute path to the shell interpreter for run scripts; defaults to /bin/sh

string
start_retries

For services: consecutive fast failures tolerated before an instance is marked FATAL and stops restarting

integer format: int64
stop_signal

Signal sent to stop a run before SIGKILL; defaults to SIGTERM

string
Allowed values: SIGTERM SIGINT SIGQUIT SIGHUP SIGKILL SIGUSR1 SIGUSR2
timeout

Per-run timeout in nanoseconds

integer format: int64
timezone

IANA timezone for cron evaluation; falls back to scheduler.timezone, then the daemon’s resolved system timezone

string
umask

Octal file-creation mask applied to the run’s process; empty inherits the daemon’s umask

string
user

Run the process as this OS user, in ‘user’ or ‘user:group’ form (name or numeric id). Empty runs as the daemon’s user; switching users needs the daemon running as root.

string
working_dir

Resolved working directory for the task’s process; empty inherits the daemon’s working directory

string
Example
[
{
"catch_up": "latest",
"kind": "task",
"log_on_full": "drop_new",
"on_overlap": "queue",
"parameters": [
{
"kind": "env",
"type": "string"
}
],
"restart": "never",
"restart_backoff": "constant",
"retry_backoff": "constant",
"stop_signal": "SIGTERM"
}
]

Error

Media type application/problem+json
object
$schema

A URL to the JSON Schema for this object.

string format: uri
detail

A human-readable explanation specific to this occurrence of the problem.

string
errors

Optional list of individual error details

array | null
object
location

Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’

string
message

Error message text

string
value

The value at the given location

instance

A URI reference that identifies the specific occurrence of the problem.

string format: uri
status

HTTP status code

integer format: int64
title

A short, human-readable summary of the problem type. This value should not change between occurrences of the error.

string
type

A URI reference to human-readable documentation for the error.

string format: uri
default: about:blank
Example
{
"$schema": "http://localhost:9477/schemas/ErrorModel.json",
"detail": "Property foo is required but is missing.",
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "about:blank"
}