Developers

REST API

Drive MadMax from CI, scripts, or your own services over /api/v1.

Everything the workflows index can do, over HTTP: list, create (including from an exported document), edit the graph, activate, run, and read execution history.

Authentication

Mint a token in Settings → developer. Tokens are pinned to one workspace and scoped read or read + build. Two headers are mandatory on every call:

Settings → developer — token minting and the REST quick start Settings → developer: mint workspace-pinned tokens and grab the quick-start snippets.

Authorization: Bearer mmx_...
Content-Type: application/vnd.api+json

Sanity-check your setup:

curl https://your-instance/api/v1/me \
  -H "Authorization: Bearer $MADMAX_API_TOKEN" \
  -H "Content-Type: application/vnd.api+json"

The interactive reference

The full endpoint reference lives at /api/docs — every route with params, response codes, curl snippets, and a try it panel that fires real requests with your token. The raw OpenAPI 3 spec is at /api/docs/openapi.json for Postman or codegen.

The 60-second tour

# create a workflow
curl -X POST $BASE/api/v1/workflows \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{"data": {"name": "From the API"}}'

# push a graph onto it
curl -X PUT $BASE/api/v1/workflows/$ID/graph \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/vnd.api+json" \
  -d '{"data": {"graph": {"nodes": [...], "edges": [...]}}}'

# activate + run
curl -X POST $BASE/api/v1/workflows/$ID/activate \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/vnd.api+json"

POST /workflows also accepts a whole document — a MadMax export, an n8n export, or a bare {nodes, edges} graph — and reports what's left to finish (placeholders + required connections).