Blitflow
HTTP API

API overview

Base URL, authentication, conventions, and errors for the /v1 HTTP API.

The HTTP API exposes the Blitflow contract over plain REST + Server-Sent Events. Use it from any language; the TypeScript SDK and MCP server are typed wrappers over exactly these operations.

Base URL & auth

https://studio.blitflow.com/api

All endpoints require a bearer token:

curl "https://studio.blitflow.com/api/v1/nodes" \
  -H "Authorization: Bearer $BLITFLOW_TOKEN"

See Authentication for token types. When calling a Studio deployment directly, the API lives under the /api prefix (https://<studio-host>/api/v1/…).

Operations

OperationMethod & pathScopeResponse
nodes.listGET /v1/nodesreadNodeSpec[]
nodes.getGET /v1/nodes/:idreadNodeSpec
workflows.getGET /v1/workflows/:idreadPublished version + definition
runs.createPOST /v1/runsrunSSE stream of run events
runs.nodePOST /v1/runs/noderun{ outputs }

Conventions

  • Request and response bodies are JSON (Content-Type: application/json), except runs.create, which responds with text/event-stream.
  • GET operations take parameters as query strings; POST operations take a JSON body.
  • Inputs are validated against the contract schemas — unknown fields are rejected, not ignored.

Errors

Errors are JSON with a human-readable message:

{ "error": "workflow abc123@9.9.9 not found" }
StatusMeaning
400Invalid JSON, failed schema validation, bad version selector, or both/neither of workflow/workflowRef provided
401Missing, invalid, expired, or revoked token
403Cross-origin cookie-authenticated mutation (use a bearer token)
404Workflow, version, or node not found

For streaming runs, failures after the stream starts arrive as a run.failed event on the stream, not as an HTTP error status.

On this page