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
How to Deploy
- 1
Save Your Flow Click Save As in the Flow Playground and give your flow a descriptive title
- 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
Go to Saved Flows Navigate to Saved Flows in the sidebar
- 4
Select Your Flow Find and click on the flow you want to deploy
- 5
Click Deploy API Click the Deploy API button. Deployment takes 2-3 seconds.
- 6
Get API Endpoint Once deployed, you'll receive your unique API endpoint URL
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"
}'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"
}Code Examples
See complete working examples in multiple languages:
Integration Examples
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
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:
- Go to Saved Flows
- Select the deployed flow
- Click Undeploy API
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_KEYheader 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