Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.runflow.io/llms.txt

Use this file to discover all available pages before exploring further.

Runflow does not ship official client libraries. The API is small and stable enough that a generated client or a requests / fetch call covers nearly every use case.

Use the OpenAPI

The public spec for customer integrations lives at:
https://docs.runflow.io/api/openapi.public.json
It is OpenAPI 3.1 and is the spec used to generate this site’s API reference.

Codegen

TypeScript types

npx openapi-typescript https://docs.runflow.io/api/openapi.public.json \
  -o src/runflow-types.ts

Python client

pip install openapi-python-client
openapi-python-client generate --url https://docs.runflow.io/api/openapi.public.json

Go client

go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest
oapi-codegen -package runflow https://docs.runflow.io/api/openapi.public.json > runflow.go

Hand-rolled

For 90% of integrations, this is enough. Both snippets bound the network wait so a stuck connection never hangs the caller.
import os, requests

RUNFLOW_API_KEY = os.environ["RUNFLOW_API_KEY"]
REQUEST_TIMEOUT = 30  # seconds

def runflow_post(path, body):
    r = requests.post(
        f"https://api.runflow.io{path}",
        headers={"Authorization": f"Bearer {RUNFLOW_API_KEY}"},
        json=body,
        timeout=REQUEST_TIMEOUT,
    )
    r.raise_for_status()
    return r.json()

When SDKs ship

We will list them here.

OpenAPI

Spec details and codegen recipes.

Authentication

Bearer header.