DEVELOPERS

Everything you can do in the canvas, over the wire.

A REST API and a native MCP server, authenticated with one bearer token. Run workflows, read runs down to each step, and let an AI agent build and fire them — no glue code.

STEP 1 — AUTHENTICATE

One token, three scopes.

Create a token in Developer → API & MCP. It looks like opflow_… and carries scopes read, write, run. Send it as a bearer header on every request.

Authorization: Bearer opflow_xxxxxxxx…

Base URL
https://flow.opscend.net/api/v1
REST API — V1

The endpoints.

Owner-scoped end to end — a token only ever sees its owner's workflows and runs. The full contract is served as an OpenAPI 3.1 spec.

GET/workflowsList your workflowsread
GET/workflows/{id}Fetch one workflowread
POST/workflows/{id}/runRun a workflow now (optional trigger_payload)run
GET/runsRecent runs — filter by workflow_id, status, limitread
GET/runs/{id}One run with every step's input/outputread
GET/openapiThe OpenAPI 3.1 spec (public)
STEP 2 — CALL IT

Run a workflow in one request.

Fire a workflow with a payload
curl -X POST \
  https://flow.opscend.net/api/v1/workflows/WF_ID/run \
  -H "Authorization: Bearer opflow_…" \
  -H "Content-Type: application/json" \
  -d '{ "trigger_payload": { "email": "[email protected]" } }'
Read a run with every step
curl https://flow.opscend.net/api/v1/runs/RUN_ID \
  -H "Authorization: Bearer opflow_…"

# → { data: { run, steps: [ { node_id,
#     status, input, output, … } ] } }
MCP SERVER

Point an AI client at OpFlow.

OpFlow ships a native Model Context Protocol server. Connect Claude, Cursor, or any MCP client with the same token and it can list the node catalog, validate a graph, build a workflow, and run it — conversationally.

claude mcp add --transport http opflow https://flow.opscend.net/api/public/mcp --header "Authorization: Bearer opflow_YOUR_TOKEN"

Build against the same engine the canvas uses.

No sandboxed subset — the API runs your real workflows.

Get a token