← v13 index

/docs · Stripe/Supabase shell · IA only

left nav · content · right code samples · no real content
v13 new
DESKTOP · 1280px · 3-column shell
floom.dev/docs/protocol/run-operation
F
floom · docs v0.4
⌘K
DOCS PROTOCOL RUN AN OPERATION

Run an operation

Every Floom app exposes one or more operations. This page walks through sending a request, receiving a response, handling streaming and the error surface. Protocol is transport-agnostic (HTTP, MCP, CLI).

New in v0.4 · Streaming responses for operations that return incrementally. See Streaming. Job queue for long-running ops is documented at /docs/protocol/job-queue.

Request format

Operations are called by slug/action. The request body is a JSON object matching the operation's input schema (declared in the manifest).

  • POST requests are always JSON. Multipart only when the schema has a file type field.
  • Authentication is via bearer token on Authorization. Scoped tokens resolve to a single app.
  • Idempotency keys live on Idempotency-Key. Replays within 24h return the same result.

Streaming

Operations that declare streaming: true in their manifest return a server-sent event stream. Each event is a JSON chunk with a type field.

  • start · operation accepted, includes run_id
  • chunk · partial payload, accumulate client-side
  • end · final payload + timing metadata
  • error · terminal error, includes structured code

Reconnection

If the stream drops, resume with the same run_id plus ?cursor=N. We replay missed events up to the last 30 seconds.

Error handling

Errors follow RFC 9457 (application/problem+json). Common codes: invalid_input, quota_exceeded, upstream_timeout, auth_failed.

Edit on GitHub
Last updated · 2026-04-17 · Give feedback
MOBILE · 375px · nav as drawer
floom.dev/docs/protocol
F
floom docs
DOCS › PROTOCOL › RUN AN OPERATION

Run an operation

Every Floom app exposes one or more operations. This page walks through the request, response, streaming, and error surface.

Request format

Operations are called by slug/action. Body is a JSON object matching the input schema.

Python · cURL · JS
import floom client = floom.Client("flm_live_...") run = client.run(...)

Streaming

Operations with streaming: true return server-sent events.

V13 · /docs · DESIGN NOTES