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 withAccept: text/markdowngives 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 inx-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/healthand/api/ready. - Not in the file
- The AI apps’ servers
/mcp/buildand/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.versionisrollinghere 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.