• English
  • HTTP API

    Shipplane Lite exposes a JSON API under /api/v1. It's the same API the built-in UI (/, /editor, /registry) calls — there's no separate public API contract yet, so treat routes and response shapes as subject to change between releases.

    All responses are JSON. Errors are { "error": string } (plus a code for known business errors) with a non-2xx status.

    Workflows — /api/v1/workflow

    MethodPathBodyDescription
    GET/List all workflows.
    GET/:workflowIDGet a workflow and its template.
    POST/create{ template: string }Create a workflow from a template string.
    PUT/:workflowID{ template: string }Update a workflow's template.
    DELETE/:workflowIDDelete a workflow.
    POST/run{ workflowID: number }Start a run for a workflow.
    POST/:workflowID/cancelCancel the workflow's active run.
    GET/status/:workflowIDGet the workflow's current run status.
    GET/state/:workflowIDGet the workflow's full run state/snapshot.

    template is a JSON string of a WorkflowDefinition (see @shipplane/core).

    Example — start a run:

    curl -X POST http://localhost:3000/api/v1/workflow/run \
      -H 'Content-Type: application/json' \
      -d '{"workflowID": 1}'

    Registry — /api/v1/registry

    MethodPathBodyDescription
    GET/List available task type definitions, grouped by worker.
    curl http://localhost:3000/api/v1/registry

    Response shape: { "data": { "lite_worker": TaskRegistryDefinition[] } }. See Registry for the task types themselves.