GoRunner docs
Search or askSearch⌘K

v2026.10.56

The API answers as its contract says

31 Oct 2026 · Cloud · Self-hosted · Embed

Every API operation was called and compared with its contract. The contract and these docs are corrected, and these answers change. Three are new refusals.

What changed

  • Set variables with no variables list answers 400 and changes nothing. [] still deletes them all. See Replace variables.
  • A condition operator that doesn’t exist is refused when a workflow is created, updated or imported, or a template is used. One already stored stays. See Workflow definition.
  • A schedule preview whose body isn’t JSON answers 400. It used to answer the default schedule. See Preview a schedule.
  • A webhook call whose run is cancelled while it runs answers 409, not 500. See Call a workflow’s webhook.
  • A refused ?wait= starts no run. It used to leave one that ran about a minute later. See Run a workflow.
  • Create, duplicate and import answer definitionRev. See Create a workflow.
  • A saved connection’s test answers noVerdict and reason, as the draft test does. See Test a connection.
  • A 405 sends Allow. See Errors.
  • A very large page is a page like any other, not a 500. An authType over 50 characters and an unreadable usage cursor are 400.
  • The export of a workflow saved without schemaVersion can be imported. See Import a workflow.
  • A trigger sample of a trigger the app doesn’t have is 404, not 500. A resume link over 5 MiB is 413, and the link still works.
  • Check a definition warns of a Return Response header the run would refuse, and notes a workflowId it ignored. See Check a definition.
  • The Partner API’s workflow reads answer webhookUrl, and its AI apps list answers pagination beside next. See Get a workflow.
  • An AI app’s gorunner_list_workflows takes view: "summary". null on an argument reads as left out, and a definition read with gorunner_get_workflow can be sent back as read. See Build tools.
  • /oauth/token, /oauth/register and /oauth/revoke answer 429 and 405 in OAuth’s shape. A 401 for a token that was sent names invalid_token. Registration answers logo_uri and client_uri. See Sign-in for developers.
  • A self-hosted installation can set API_INFLIGHT_MB, GORUNNER_JSBOX_SEAL, GORUNNER_JSBOX_SHIP_ALL and WORKER_RUN_GATE in .env. See Settings (.env).

When you update

A client that cleared a workflow’s variables by sending {} must now send {"variables": []}.

GoRunner’s image is private for now. With Docker, sign in to the registry first. On Kubernetes, sign Helm in and give the cluster its pull Secret. See Update for the whole procedure, or Install with Docker and Install on Kubernetes to install this version anew.

# Check the image first: its Digest must be sha256:bed1584f6962a2cc2e088f33cf3fdb45b3f9a4ebeaef83e864ac5d5657032a17
docker buildx imagetools inspect ghcr.io/ralve-org/gorunner-selfhost:v2026.10.56

# Update
./deploy.sh v2026.10.56

Going back

To go back, run ./deploy.sh v2026.10.55. There is no migration, so no flag is needed.