Deploy your AI workflows as production-ready REST APIs with one click. No server setup, no DevOps required. Automatic authentication, monitoring, and scaling included.

Prerequisites for Deployment

To deploy a flow as an API, it must have:

  • API Input node - Defines the input schema for API requests
  • At least one processing node - Prompts, web scrapers, or transformations
  • Saved flow - Must be saved to the flow library
Tip
Optional: Add an API Output node to customize the response format. Without it, the final node's output is returned.

How to Deploy

  1. 1

    Save Your Flow Click Save As in the Flow Playground and give your flow a descriptive title

  2. 2

    Add API Input Node If not already present, add an API Input node at the start of your flow and configure input fields

  3. 3

    Go to Saved Flows Navigate to Saved Flows in the sidebar

  4. 4

    Select Your Flow Find and click on the flow you want to deploy

  5. 5

    Click Deploy API Click the Deploy API button. Deployment takes 2-3 seconds.

  6. 6

    Get API Endpoint Once deployed, you'll receive your unique API endpoint URL

That's it! Your flow is now live and can accept requests from anywhere on the internet.

API Endpoint Structure

Your deployed flow gets a unique endpoint:

https://api.evaligo.com/public/v1/flows/execute/{flow_id}

Where {flow_id} is your flow's unique identifier.

Making API Requests

Authentication

All API requests require authentication with your API key:

curl -X POST "https://api.evaligo.com/public/v1/flows/execute/abc123" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com",
    "query": "your data"
  }'
Info
Get your API key: Navigate to Settings → API Keys in your account.

Request Body

The request body must match the fields defined in your API Input node:

{
  "field1": "value1",
  "field2": "value2"
}

Response Format

API calls return immediately with a job ID (async execution):

{
  "job_id": "job_abc123xyz",
  "status": "queued",
  "flow_id": "abc123"
}

Async Execution Model

All flow executions are asynchronous to handle long-running operations:

1. Submit Request

Your API call returns immediately with a job ID

2. Poll for Results

Use the job status endpoint to check progress:

curl "https://api.evaligo.com/public/v1/jobs/{job_id}" \
  -H "Authorization: Bearer YOUR_API_KEY"

3. Get Results

When status is completed, the response includes results:

{
  "job_id": "job_abc123xyz",
  "status": "completed",
  "flow_id": "abc123",
  "result": {
    "output": "Your flow result data here"
  },
  "execution_time_seconds": 5.2,
  "completed_at": "2025-10-17T12:34:56Z"
}
Tip
Recommended polling interval: 2-5 seconds. Most flows complete in 5-30 seconds depending on complexity.

Code Examples

See complete working examples in multiple languages:

Integration Examples

Code Examples
Python, JavaScript, cURL examples with polling
API Documentation
Complete API reference and schemas

Monitoring & Observability

Monitor your deployed API:

  • Execution Jobs Table - View all API requests and their status
  • Cost Tracking - See API usage costs in real-time
  • Error Logs - Failed requests with detailed error messages
  • Execution Time - Performance metrics per endpoint

Rate Limits & Scaling

Concurrency Limits

  • Free tier: 4 concurrent executions
  • Pro tier: 20 concurrent executions
  • Enterprise: Custom limits
Warning
If you exceed your concurrency limit, API requests will return a 429 Too Many Requests error. Wait for current jobs to complete before submitting new ones.

Request Limits

  • Free tier: 1,000 requests/month
  • Pro tier: 10,000 requests/month
  • Enterprise: Unlimited

Undeploying APIs

To stop accepting API requests:

  1. Go to Saved Flows
  2. Select the deployed flow
  3. Click Undeploy API
Info
Undeploying does NOT delete the flow. It only disables the API endpoint. You can redeploy anytime.

Best Practices

Security

  • ✅ Rotate API keys regularly
  • ✅ Use separate API keys for dev/staging/production
  • ✅ Never commit API keys to version control
  • ✅ Use environment variables for API keys

Error Handling

  • ✅ Implement retry logic with exponential backoff
  • ✅ Handle 429 (rate limit) errors gracefully
  • ✅ Log failed requests for debugging
  • ✅ Set timeouts on your HTTP client (300 seconds recommended)

Testing

  • ✅ Test thoroughly in Flow Playground before deploying
  • ✅ Use small batches to test API behavior
  • ✅ Monitor first few production requests closely
  • ✅ Have rollback plan (keep previous version deployable)

Troubleshooting

401 Unauthorized

  • Check API key is correct
  • Verify Authorization: Bearer YOUR_KEY header format
  • Ensure API key hasn't been revoked

400 Bad Request

  • Request body doesn't match API Input node schema
  • Missing required fields
  • Invalid field types (e.g., string instead of number)

429 Too Many Requests

  • You've exceeded concurrent execution limit
  • Wait for current jobs to complete
  • Implement queuing on your side
  • Consider upgrading your plan

Job stays in "processing" forever

  • Check if flow has infinite loops (not supported yet)
  • Verify all nodes are working correctly
  • Contact support if issue persists

Next Steps

Code Examples
Complete integration examples in Python, JS, cURL
API Documentation
Full API reference with request/response schemas
Authentication
API key management and security best practices
Best Practices
Production deployment checklist and tips