FairFlow API.
Pay-per-workflow run REST API. Auth with a Bearer token. Every endpoint returns a hold ID — operations settle on success and void on failure.
Base URL
https://api.faircompany.ai/v1/flow
Authentication
All requests use a Bearer token. Get one from fairflow.ai/app.
Authorization: Bearer fair_live_...
Pricing
Every workflow run costs $0.005 per workflow run. The cost is held against your wallet at request time, settled on success, and voided on failure.
Endpoints
POST/v1/flow/runs
Create a new workflow run.
{
"input": "...",
"metadata": { "ref": "your-internal-id" }
} Returns the resource and a hold_id:
{
"id": "workflow run_01HX...",
"status": "queued",
"hold_id": "hold_01HX...",
"estimated_cost_usd": "$0.005"
} GET/v1/flow/runs/:id
Fetch a workflow run by ID. Returns full state including settled cost.
GET/v1/flow/runs
List workflow runs. Supports cursor pagination, created_after,
status, and metadata filters.
DELETE/v1/flow/runs/:id
Cancel a queued workflow run. Held funds are released. Already-settled workflow runs cannot be cancelled.
POST/v1/flow/webhooks
Register a webhook for workflow run.created, workflow run.completed, workflow run.failed events. Signed with HMAC-SHA256.
Errors
- 402 Payment Required — wallet balance below the hold amount. Top up at fairflow.ai/app.
- 401 Unauthorized — missing or invalid Bearer token.
- 422 Unprocessable — input failed validation.
- 429 Rate Limit — exponential backoff with the
Retry-Afterheader. - 5xx — held funds are auto-voided after 5 minutes if no settlement arrives.
SDKs
Typed clients available for TypeScript / Python via
@fair/sdk (npm) and fair-sdk (PyPI).
Full OpenAPI spec at
api.faircompany.ai/openapi.