API Overview

Programmatically execute AI workflows, manage resources, and integrate Wireflow into your applications.

The Wireflow API lets you execute AI workflows programmatically, poll for results, and manage your workflows — all with standard REST calls.

Base URL

https://www.wireflow.ai/api/v1

Authentication

All requests require a Bearer token in the Authorization header. Generate API keys from Settings > API Keys in the Wireflow dashboard.

Authorization: Bearer sk-your-api-key

See Authentication for details on scopes and key management.

Quick Start

Execute a single text-to-image node and poll for results:

# 1. Execute a workflow (single text-to-image node)
curl -X POST https://www.wireflow.ai/api/v1/workflows/YOUR_WORKFLOW_ID/execute \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "nodes": [
      {
        "id": "node-1",
        "type": "basedNode",
        "position": { "x": 0, "y": 0 },
        "data": {
          "label": "Text to Image",
          "category": "model",
          "nodeType": "generate:flux_2",
          "params": {
            "prompt": "A sunset over mountains, photorealistic"
          },
          "inputs": [],
          "outputs": [{ "id": "image", "label": "Image", "type": "IMAGE" }]
        }
      }
    ],
    "edges": []
  }'

# Response: 201 Created
# {
#   "workflowId": "cm1abc123",
#   "batchId": "550e8400-e29b-41d4-a716-446655440000",
#   "executionRuns": [{ "id": "exec_456", "status": "RUNNING", ... }]
# }

# 2. Poll until complete
curl https://www.wireflow.ai/api/v1/workflows/executions/exec_456/poll \
  -H "Authorization: Bearer sk-your-api-key"

# Response: { "status": "COMPLETED", "nodeResults": { "nodeRuns": [...] } }

Response shapes

All responses return JSON, but the envelope differs by route family. These are the shapes as they exist today; treat them as stable.

Route family Success shape
List, create, update (e.g. GET /workflows, POST /workflows, PUT /workflows/{id}) { "data": ..., "meta": {...} }meta carries pagination, and on graph writes the lint warnings, migrations, and diagnostics
Get a workflow (GET /workflows/{id}), poll an execution (GET /workflows/executions/{id}/poll) The bare resource object, no envelope
Catalogs (GET /nodes, GET /models) { "version": 1, "count": N, "nodes": [...] } (or "models")

Errors return an error object with type, message, and code:

{
  "error": {
    "type": "invalid_request_error",
    "message": "Workflow not found",
    "code": "not_found"
  }
}

Write your client against the shape of each route you call, not one assumed global envelope. See Errors for the full error reference.

Request IDs

Every response includes an X-Request-Id header. Include this when contacting support — it helps us trace issues quickly.

Rate Limits

Requests are rate-limited by plan tier. The API returns X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers on every response. See Rate Limits.

SDKs & Libraries

There is no official SDK yet. The Wireflow API is standard REST, so any HTTP client works — curl, fetch, axios, Python requests, etc. See the endpoint-specific pages for language examples.

Resources

Section Description
Authentication API keys, scopes, and best practices
Workflows Create, list, update, and delete workflows
Executions Execute workflows and poll for results
Rate Limits Limits by plan tier and how to handle 429s
Errors Error format, types, and status codes
Webhooks Trigger workflows via HTTP and get notified on completion

© 2026 Wireflow. All rights reserved.

API Overview | Wireflow Docs