Start a service, or trigger a task
const url = 'http://localhost:9477/api/tasks/example/start?waitTimeout=120&via=ui';const options = {method: 'POST'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url 'http://localhost:9477/api/tasks/example/start?waitTimeout=120&via=ui'For a service: un-parks it (if operator-stopped) and fills empty instance slots; already-running instances are left alone. For a task: triggers a run, unless one is already active or queued, in which case this is a no-op. With wait=true on a task: returns 200 and the started (or already active) run once it ends.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Task name
Task name
Query Parameters
Section titled “Query Parameters”Hold the request until the action finishes. run, and start/restart on a task: until the run ends, then return it with exitCode and endReason. stop: until every run or instance has ended. Not supported for start/restart on a service. Best for short tasks; long waits may exceed reverse-proxy timeouts.
Hold the request until the action finishes. run, and start/restart on a task: until the run ends, then return it with exitCode and endReason. stop: until every run or instance has ended. Not supported for start/restart on a service. Best for short tasks; long waits may exceed reverse-proxy timeouts.
With wait=true, the maximum seconds to hold the request open. Capped below the server’s 5-minute write timeout. On timeout, run/start/restart return the run in its current (non-terminal) state and stop returns 409; the action itself keeps going.
With wait=true, the maximum seconds to hold the request open. Capped below the server’s 5-minute write timeout. On timeout, run/start/restart return the run in its current (non-terminal) state and stop returns 409; the action itself keeps going.
Declares the caller for run provenance when this starts a fresh task run: ‘ui’ (Web UI / TUI) or ‘cli’ (runwisp start/restart). Omit for a plain API call. Ignored for services.
Declares the caller for run provenance when this starts a fresh task run: ‘ui’ (Web UI / TUI) or ‘cli’ (runwisp start/restart). Omit for a plain API call. Ignored for services.
Responses
Section titled “Responses”No Content
object
A URL to the JSON Schema for this object.
User plus system CPU time of the run’s processes, in milliseconds. Shell runs only; absent when not measured.
Why a run ended. Set when status=ended.
object
Highest resident memory of the run’s process group, in bytes. Shell runs only; absent when not measured.
Run lifecycle phase
Lines the run printed on stderr, including any the log dropped. Absent for runs that never executed.
Lines the run printed on stdout, including any the log dropped. Absent for runs that never executed.
How the run was triggered
Example
{ "$schema": "http://localhost:9477/schemas/Run.json", "endReason": "succeeded", "status": "pending", "triggeredBy": "cron"}default
Section titled “default”Error
object
A URL to the JSON Schema for this object.
A human-readable explanation specific to this occurrence of the problem.
Optional list of individual error details
object
Where the error occurred, e.g. ‘body.items[3].tags’ or ‘path.thing-id’
Error message text
The value at the given location
A URI reference that identifies the specific occurrence of the problem.
HTTP status code
A short, human-readable summary of the problem type. This value should not change between occurrences of the error.
A URI reference to human-readable documentation for the error.
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"}