Every agent is exposed as a clean REST API. Integrate AI-powered workflows into your existing stack in minutes.
Call your agents from any platform. Get responses in seconds.
Design your workflow visually in the dashboard.
Toggle the agent to public to get your webhook URL.
Send requests from Python, Node, cURL, or any language.
curl -X POST https://api.xyzgent.com/v1/hooks/{agent_id} \
-H "Content-Type: application/json" \
-H "X-Webhook-Secret: your-secret" \
-d '{ "customer_name": "John", "amount": 100 }'Edge-optimized infrastructure with sub-100ms response times globally.
API key authentication, webhook secrets, and encrypted data at rest.
Server-Sent Events (SSE) for streaming workflow execution updates.
Built-in vector storage and retrieval for knowledge-augmented agents.
Complete REST API documentation for all XYZgent endpoints.
API requests use JWT bearer tokens for authenticated routes. Public webhooks use X-Webhook-Secret header.
# Authenticated API requests (JWT token)
curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "X-Tenant-ID: YOUR_TENANT_ID" \
https://api.xyzgent.com/v1/apps
# Public webhook (no auth, uses secret)
curl -H "X-Webhook-Secret: YOUR_WEBHOOK_SECRET" \
-H "Content-Type: application/json" \
-X POST https://api.xyzgent.com/v1/hooks/{agent_id} \
-d '{"input": "value"}'/v1/appsList all agents/v1/appsCreate a new agent/v1/apps/{id}Get agent details with workflow/v1/apps/{id}Update an agent/v1/apps/{id}Delete an agent/v1/apps/{id}/statsGet execution stats and activity/v1/apps/{id}/executions/{exec_id}Get execution logs/v1/hooks/{agent_id}Trigger agent workflow/v1/hooks/{agent_id}/streamStream execution via SSE/v1/workflows/{id}Get workflow graph/v1/workflows/{id}Update workflow graph/v1/workflows/{id}/publishPublish workflow version/v1/workflows/{id}/runExecute workflow with SSE/v1/datasetsList all datasets/v1/datasetsCreate a dataset/v1/datasets/{id}Get dataset details/v1/datasets/{id}Delete a dataset/v1/datasets/{id}/documentsList documents/v1/datasets/{id}/documentsUpload document (PDF, DOCX, TXT, CSV)/v1/datasets/{id}/documents/{doc_id}Delete a document/v1/chat-messagesSend message with streaming response/v1/chat-widgets/{id}/messagePublic chat with RAG support/v1/chat-widgetsList all chat widgets/v1/chat-widgetsCreate embeddable widget/v1/chat-widgets/{id}Get widget configuration/v1/chat-widgets/{id}Update widget settings/v1/chat-widgets/{id}Delete a widget/v1/chat-widgets/{id}/publicPublic widget config/v1/formsList all forms/v1/formsCreate form linked to agent/v1/forms/{id}Get form schema/v1/forms/{id}Update form fields/v1/forms/{id}Delete a form/v1/forms/{id}/submissionsList form submissions/v1/forms/{id}/public/submitPublic form submissionAll responses are returned in JSON format. Successful webhook triggers include execution metadata in response headers.
// Success response from webhook
{
"success": true,
"run_id": "run_abc123",
"status": "succeeded",
"duration_ms": 1250,
"output": "Analysis complete. Key findings: ..."
}
// Response headers include:
// X-Execution-ID: run_abc123
// X-Execution-Status: succeeded
// X-Execution-Duration-Ms: 1250Use the /stream endpoint for real-time SSE events as your workflow executes.
const eventSource = new EventSource(
'https://api.xyzgent.com/v1/hooks/{agent_id}/stream'
);
eventSource.onmessage = (event) => {
const data = JSON.parse(event.data);
switch (data.event) {
case 'node_started':
console.log(`Executing: ${data.node_type}`);
break;
case 'node_finished':
console.log(`Output: ${data.output}`);
break;
case 'workflow_finished':
console.log('Complete!');
eventSource.close();
break;
}
};Native client libraries for Python, Node.js, Go, and more. Sign up to get notified when they're ready.
Start building AI-powered workflows today. Free tier includes 100K tokens.