Theme switcher

Introduction

Build reliable, scalable workflows that orchestrate AI models, data processing, and business logicβ€”all through a simple API.


What You Can Build

SuperAI Flows is a workflow orchestration platform that enables you to:

  • πŸ“„ Process Documents at Scale β€” Extract data from invoices, contracts, and forms with AI-powered workflows
  • πŸ”— Chain API Operations β€” Connect multiple services, handle retries, and manage complex business logic
  • βš™οΈ Automate Business Processes β€” Build durable workflows that handle failures gracefully and resume automatically

Why Developers Choose SuperAI Flows

Built for Reliability

  • πŸ”„ Automatic Retries β€” Configure retry policies per task with exponential backoff
  • πŸ›‘οΈ Durable Execution β€” Workflows survive service restarts and infrastructure failures
  • πŸ“Œ Version Control β€” Roll back to previous workflow versions without breaking running executions
  • πŸ“Š Real-time Monitoring β€” Track execution progress with WebSocket notifications and comprehensive logging

Enterprise-Ready

  • 🏒 Multi-tenant Architecture β€” Organization-scoped resources with role-based access control
  • πŸ“ Audit Logging β€” Complete execution history for compliance and debugging
  • πŸ“ˆ Scalable Infrastructure β€” Distributed architecture designed for high-throughput workloads
  • πŸ”’ Secure by Default β€” JWT authentication, API key management, and webhook signature verification

Core Concepts

Flows

A Flow is a workflow definitionβ€”a declarative YAML file that specifies tasks, dependencies, and execution logic. Flows are versioned, allowing you to iterate safely.

Why developers love our YAML definitions:

  • πŸ“– Readable and Maintainable β€” Define complex workflows in plain YAML without writing orchestration code
  • βœ… Type-Safe β€” Every task includes a complete JSON schema for inputs and outputs, ensuring data integrity
  • 🎨 Visual Representation β€” YAML maps directly to the visual flow editor at flows.super.ai
  • 🧩 Reusable Components β€” Leverage pre-built task executors or create custom ones in Python

Reference task outputs using simple syntax like {{task_name.output.field}}, and the platform handles dependencies, retries, and data flow automatically. See the quickstart guide for a complete YAML workflow example.

Flow Executions

A Flow Execution is a single run of a flow with specific input data. Each execution has a unique ID and tracks status through its lifecycle: queued β†’ running β†’ completed or failed.

Tasks

Tasks are the building blocks of flows. Each task performs a single operation (API call, data transformation, AI inference) and can depend on outputs from previous tasks.

Task Executors

Task Executors are pre-built or custom Python functions that define how tasks run. SuperAI provides executors for common operations like HTTP requests, LLM calls, and data processing.


Integration Patterns

πŸ”„ Synchronous (Polling)

Create an execution, poll for completion, retrieve results:

Plain text
# 1. Create execution
EXEC_ID=$(curl -X POST https://flows.super.ai/api/flow-executions \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"flow_id":"$FLOW_ID","input":{}}' | jq -r .id)
# 2. Check status
curl https://flows.super.ai/api/flow-executions/$EXEC_ID \
-H "Authorization: Bearer $TOKEN" | jq .status
# 3. Get results
curl "https://flows.super.ai/api/task-executions?flow_execution_id=$EXEC_ID" \
-H "Authorization: Bearer $TOKEN"

Best for: Testing, prototyping, low-volume workloads

⚑ Asynchronous (Webhooks)

Add a Webhook Notification task to receive real-time updates. You can add a task usi

Plain text
{
"event_type": "flow_execution.completed",
"flow_execution_id": "df77dc65-909b-430e-bff1-9e9ecf315a80",
"status": "completed",
"timestamp": "2025-01-15T10:32:45Z",
"data": {
"task_outputs": {
"extract_invoice_data": {
"invoice_number": "INV-0052465571",
"total_amount": 2435.00
}
}
}
}

Key benefits:

  • Automatic dependency resolution β€” Webhooks trigger after referenced tasks produce output
  • Customize payload β€” Reference outputs from any previous task using ${task_name.output.field}
  • Multiple webhooks per flow β€” Send different data to different endpoints at different stages

Best for: Production workloads, high-volume processing, event-driven architectures

Configure webhook tasks in the Flow Editor at: flows.super.ai


API Design Philosophy

Predictable and Consistent

  • RESTful endpoints with intuitive resource naming
  • Consistent response formats across all endpoints
  • Standard HTTP status codes for error handling
  • Comprehensive field descriptions in all responses

Built for Forward Compatibility

Your integrations won't break. We follow strict versioning rules:

Non-breaking changes (safe, no action required):

  • Adding new API endpoints
  • Adding optional query parameters
  • Adding new fields to responses
  • Adding new enum values

Breaking changes (requires migration):

  • Removing endpoints or fields
  • Changing field types or validation
  • Removing enum values

All breaking changes are announced 15 days in advance with migration guides.

Client Requirements

Your API clients MUST gracefully handle additional fields in responses. We may add new fields to any response object without advance noticeβ€”design your parsers to ignore unknown fields.

πŸš€ Ready to Build?

Start with our 5-minute quickstart guide or dive into the full API reference.

Questions? Email support@super.ai β€” we're here to help.

Was this section helpful?

What made this section unhelpful for you?

On this page
  • Introduction
View as Markdown

Ask an AI

Open in ChatGPTOpen in ClaudeOpen in Perplexity

Code with AI

Open in Copilot