REST API Reference
Complete API reference for Actyze.
Generate SQL Query
Generate SQL from natural language.
Endpoint: POST /api/queries
Request:
{
"question": "Show total sales by region last quarter",
"datasource_id": "uuid",
"context": {
"schema": "public",
"tables": ["sales", "regions"]
}
}
Response:
{
"id": "query-uuid",
"sql": "SELECT region, SUM(amount) FROM sales...",
"explanation": "This query calculates...",
"confidence": 0.95
}
Execute Query
Execute a SQL query.
Endpoint: POST /api/queries/:id/execute
Response:
{
"columns": ["region", "total_sales"],
"rows": [
["North", 125000],
["South", 98000]
],
"execution_time_ms": 234
}
List Data Sources
Endpoint: GET /api/datasources
Response:
{
"datasources": [
{
"id": "uuid",
"name": "Production DB",
"type": "postgresql",
"status": "connected"
}
]
}
Add Data Source
Endpoint: POST /api/datasources
Request:
{
"name": "Analytics DB",
"type": "postgresql",
"host": "db.example.com",
"port": 5432,
"database": "analytics",
"username": "readonly",
"password": "secret"
}
Create Dashboard
Endpoint: POST /api/dashboards
Request:
{
"name": "Sales Dashboard",
"queries": ["query-uuid-1", "query-uuid-2"],
"layout": {
"grid": [[0, 1]]
}
}
Webhooks
Configure webhooks for events:
Endpoint: POST /api/webhooks
Request:
{
"url": "https://example.com/webhook",
"events": ["query.executed", "dashboard.created"],
"secret": "webhook-secret"
}