GoRunner docs
Search or askSearch⌘K

OpenAPI, llms.txt and Markdown

The API and every page of these docs, in files a program or a model can read.

The files

/openapi.json
The API, as OpenAPI 3.1.
/embed-openapi.json
The same file as /openapi.json. The Partner API is its operations under /api/embed/v1.
/llms.txt
Every page of these docs, one line each, with a link to its Markdown.
/llms-full.txt
Every page’s Markdown, in one file.
/<page>.md
One page as Markdown, such as /api/errors.md. Asking for the page with Accept: text/markdown gives the same.

All are at https://docs.gorunner.io. On any page, the ⋯ menu has Copy as Markdown, View as Markdown, Open in Claude and Open in ChatGPT.

About the OpenAPI file

The servers
GoRunner Cloud, and {origin} for a self-hosted installation: set it to your host. Every path already starts with /api.
Permissions
Each operation names the permission it needs in x-permission. A Partner API operation names its key in x-embed-auth.
Kept true
GoRunner’s tests fail when an API route a token can call is missing from the file, or the file names one that doesn’t exist.
No token
Three kinds of operation take none (security: []): a workflow’s webhook address and resume links (Call a workflow’s webhook), and the health checks /api/health and /api/ready.
Not in the file
The AI apps’ servers /mcp/build and /mcp/tools, and sign-in at /oauth/… and /.well-known/…, which sit at the root, not under /api: Sign-in for developers.
Versions
There is no version in the address. The API changes by adding: a field to be removed is marked deprecated first. info.version is rolling here and on GoRunner Cloud. Each self-hosted release stamps its own copy with its version.

AI apps get their own list from the server. See Build tools.

Builder-only operations

The file also has 8 operations that GoRunner’s own builder uses, tagged Editor Internals. They are listed because every route is. They aren’t supported for your code: they can change without notice, and these docs don’t describe them.

POST /api/workflows/{id}/test-step
Runs one step of the draft and shows what it produced.
POST /api/workflows/{id}/listen
Waits for the next real call to the workflow’s webhook, once.
GET /api/workflows/{id}/listen-stream
Tells the builder when that call arrives.
GET /api/workflows/{id}/test-context
Recent test runs, and each step’s output in one of them, to pick data from.
GET /api/workflows/{id}/step-sources
Which past runs have real data for one step.
GET /api/workflows/{id}/step-sources/{runId}
One step’s output from one past run.
POST /api/workflows/{id}/presence
Shows who has the workflow open, and keeps the editing lock.
DELETE /api/workflows/{id}/presence
Stops showing you there, and frees the lock.