Skip to main content

API

Interactive OpenAPI reference for the ActionFlows REST API. Explore endpoints for flows, runs, and authentication with request and response schemas.

API Reference

The ActionFlows API is execution-focused: discover flows and agents you designed in the app, trigger runs, monitor or cancel work (including the run queue), and chat with agents. It does not create, update, or delete flows or agents, and does not expose flow graphs or Studio configuration. All endpoints require authentication using API keys.

Each endpoint page includes a Try it section in the page flow. Open the API Explorer to try every operation from one screen.

Base URL

All API requests should be made to:

https://api.actionflows.ai

For development environments, use your configured API URL.

Authentication

ActionFlows API uses API key authentication. You can authenticate requests using one of the following methods:

Authorization: Bearer YOUR_API_KEY

or

Authorization: ApiKey YOUR_API_KEY

Using X-API-Key Header

X-API-Key: YOUR_API_KEY

Getting Your API Key

  1. Log in to your ActionFlows account
  2. Navigate to your organization settings
  3. Go to the API Keys section
  4. Create a new API key
  5. Copy the key immediately (it won't be shown again)

Important: Keep your API keys secure. Never commit them to version control or expose them in client-side code.

Rate Limiting

API requests are rate-limited per user. If you exceed the rate limit, you'll receive a 429 Too Many Requests response.

Rate limit headers are included in responses:

  • X-RateLimit-Limit: Maximum number of requests allowed
  • X-RateLimit-Remaining: Number of requests remaining
  • X-RateLimit-Reset: Time when the rate limit resets

Request Format

All requests should use:

  • Content-Type: application/json
  • Accept: application/json

Response Format

All API responses follow a consistent format:

Success Response

{
  "success": true,
  "data": {
    // Response data
  }
}

Error Response

{
  "success": false,
  "error": "Error message",
  "message": "Detailed error description"
}

HTTP Status Codes

  • 200 OK - Request succeeded
  • 201 Created - Resource created successfully
  • 400 Bad Request - Invalid request parameters
  • 401 Unauthorized - Authentication required or invalid
  • 403 Forbidden - Access denied
  • 404 Not Found - Resource not found
  • 429 Too Many Requests - Rate limit exceeded
  • 500 Internal Server Error - Server error

Locale Support

You can specify the locale for error messages using the X-Locale header:

X-Locale: en

Supported locales: en, tr, es, fr, de

Endpoints

Examples

cURL

curl -X GET https://api.actionflows.ai/api/actionflows \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

JavaScript (Fetch)

const response = await fetch('https://api.actionflows.ai/api/actionflows', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
});

const data = await response.json();

Python (requests)

import requests

headers = {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json',
}

response = requests.get('https://api.actionflows.ai/api/actionflows', headers=headers)
data = response.json()

Error Handling

Always check the success field in the response. If success is false, handle the error appropriately:

const response = await fetch('https://api.actionflows.ai/api/actionflows', {
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
  },
});

const data = await response.json();

if (!data.success) {
  console.error('API Error:', data.error);
  console.error('Message:', data.message);
  // Handle error
} else {
  // Use data.data
  console.log('Flows:', data.data);
}

Support

For API support, please contact [email protected] or visit our documentation.

On this page