Deployments API
The Deployments API allows you to manage deployments of your agents and workflows. You can create, monitor, control, and manage deployments across different channels and regions.
Base URL
https://api.aloochat.ai/api/publicAuthentication
All requests require an API key in the x-api-key header:
x-api-key: your_api_key_hereEndpoints
Create Deployment
Create a new deployment for an agent or workflow.
Endpoint: POST /deployments
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| deployable_type | string | Yes | Type of deployable (“agent” or “workflow”) |
| deployable_id | string (UUID) | Yes | ID of the agent or workflow to deploy |
| channel | string | Yes | Deployment channel (e.g., “web”, “slack”, “teams”) |
| region_id | string (UUID) | Yes | Region ID for deployment |
| languages | string | No | Supported languages (comma-separated) |
| config | string | No | JSON configuration for the deployment |
Example Requests
cURL:
curl -X POST "https://api.aloochat.ai/api/public/deployments" \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"deployable_type": "agent",
"deployable_id": "123e4567-e89b-12d3-a456-426614174000",
"channel": "web",
"region_id": "456e7890-e89b-12d3-a456-426614174000",
"languages": "en,es,fr",
"config": "{\"max_concurrent_users\": 100}"
}'JavaScript:
const response = await fetch('https://api.aloochat.ai/api/public/deployments', {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
deployable_type: 'agent',
deployable_id: '123e4567-e89b-12d3-a456-426614174000',
channel: 'web',
region_id: '456e7890-e89b-12d3-a456-426614174000',
languages: 'en,es,fr',
config: '{"max_concurrent_users": 100}'
})
});
const deployment = await response.json();
console.log('Created deployment:', deployment);Python:
import requests
url = "https://api.aloochat.ai/api/public/deployments"
headers = {
"x-api-key": "your_api_key_here",
"Content-Type": "application/json"
}
data = {
"deployable_type": "agent",
"deployable_id": "123e4567-e89b-12d3-a456-426614174000",
"channel": "web",
"region_id": "456e7890-e89b-12d3-a456-426614174000",
"languages": "en,es,fr",
"config": '{"max_concurrent_users": 100}'
}
response = requests.post(url, headers=headers, json=data)
deployment = response.json()
print('Created deployment:', deployment)List Deployments
Get a list of deployments with optional filtering.
Endpoint: GET /deployments
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deployable_type | string | No | Filter by deployable type (“agent” or “workflow”) |
| status | string | No | Filter by status (“pending”, “deploying”, “active”, “failed”, “cancelled”, “paused”) |
| channel | string | No | Filter by deployment channel |
| skip | integer | No | Number of deployments to skip (default: 0) |
| limit | integer | No | Maximum number of deployments to return (default: 20, max: 100) |
Example Requests
cURL:
curl -X GET "https://api.aloochat.ai/api/public/deployments?deployable_type=agent&status=active&limit=10" \
-H "x-api-key: your_api_key_here"JavaScript:
const params = new URLSearchParams({
deployable_type: 'agent',
status: 'active',
limit: '10'
});
const response = await fetch(`https://api.aloochat.ai/api/public/deployments?${params}`, {
method: 'GET',
headers: {
'x-api-key': 'your_api_key_here'
}
});
const deployments = await response.json();
console.log('Deployments:', deployments);Python:
import requests
url = "https://api.aloochat.ai/api/public/deployments"
headers = {"x-api-key": "your_api_key_here"}
params = {
"deployable_type": "agent",
"status": "active",
"limit": 10
}
response = requests.get(url, headers=headers, params=params)
deployments = response.json()
print('Deployments:', deployments)Get Deployment
Retrieve a specific deployment by its ID.
Endpoint: GET /deployments/{deploymentId}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Example Requests
cURL:
curl -X GET "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000" \
-H "x-api-key: your_api_key_here"JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}`, {
method: 'GET',
headers: {
'x-api-key': 'your_api_key_here'
}
});
const deployment = await response.json();
console.log('Deployment:', deployment);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}"
headers = {"x-api-key": "your_api_key_here"}
response = requests.get(url, headers=headers)
deployment = response.json()
print('Deployment:', deployment)Update Deployment
Update an existing deployment configuration.
Endpoint: PUT /deployments/{deploymentId}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| channel | string | No | Deployment channel |
| region_id | string (UUID) | No | Region ID for deployment |
| languages | string | No | Supported languages (comma-separated) |
| config | string | No | JSON configuration for the deployment |
Example Requests
cURL:
curl -X PUT "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000" \
-H "x-api-key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"languages": "en,es,fr,de",
"config": "{\"max_concurrent_users\": 200}"
}'JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}`, {
method: 'PUT',
headers: {
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
languages: 'en,es,fr,de',
config: '{"max_concurrent_users": 200}'
})
});
const deployment = await response.json();
console.log('Updated deployment:', deployment);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}"
headers = {
"x-api-key": "your_api_key_here",
"Content-Type": "application/json"
}
data = {
"languages": "en,es,fr,de",
"config": '{"max_concurrent_users": 200}'
}
response = requests.put(url, headers=headers, json=data)
deployment = response.json()
print('Updated deployment:', deployment)Delete Deployment
Delete an existing deployment.
Endpoint: DELETE /deployments/{deploymentId}
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Example Requests
cURL:
curl -X DELETE "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000" \
-H "x-api-key: your_api_key_here"JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}`, {
method: 'DELETE',
headers: {
'x-api-key': 'your_api_key_here'
}
});
console.log('Deployment deleted:', response.status === 204);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}"
headers = {"x-api-key": "your_api_key_here"}
response = requests.delete(url, headers=headers)
print('Deployment deleted:', response.status_code == 204)Deployment Control
Start Deployment
Start a pending deployment.
Endpoint: POST /deployments/{deploymentId}/start
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Example Requests
cURL:
curl -X POST "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000/start" \
-H "x-api-key: your_api_key_here"JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}/start`, {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here'
}
});
const deployment = await response.json();
console.log('Started deployment:', deployment);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}/start"
headers = {"x-api-key": "your_api_key_here"}
response = requests.post(url, headers=headers)
deployment = response.json()
print('Started deployment:', deployment)Stop Deployment
Stop an active deployment.
Endpoint: POST /deployments/{deploymentId}/stop
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Example Requests
cURL:
curl -X POST "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000/stop" \
-H "x-api-key: your_api_key_here"JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}/stop`, {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here'
}
});
const deployment = await response.json();
console.log('Stopped deployment:', deployment);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}/stop"
headers = {"x-api-key": "your_api_key_here"}
response = requests.post(url, headers=headers)
deployment = response.json()
print('Stopped deployment:', deployment)Pause Deployment
Pause an active deployment.
Endpoint: POST /deployments/{deploymentId}/pause
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Example Requests
cURL:
curl -X POST "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000/pause" \
-H "x-api-key: your_api_key_here"JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}/pause`, {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here'
}
});
const deployment = await response.json();
console.log('Paused deployment:', deployment);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}/pause"
headers = {"x-api-key": "your_api_key_here"}
response = requests.post(url, headers=headers)
deployment = response.json()
print('Paused deployment:', deployment)Resume Deployment
Resume a paused deployment.
Endpoint: POST /deployments/{deploymentId}/resume
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Example Requests
cURL:
curl -X POST "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000/resume" \
-H "x-api-key: your_api_key_here"JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}/resume`, {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here'
}
});
const deployment = await response.json();
console.log('Resumed deployment:', deployment);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}/resume"
headers = {"x-api-key": "your_api_key_here"}
response = requests.post(url, headers=headers)
deployment = response.json()
print('Resumed deployment:', deployment)Deployment Logs
Get Deployment Logs
Retrieve logs for a specific deployment.
Endpoint: GET /deployments/{deploymentId}/logs
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| deploymentId | string (UUID) | Yes | The ID of the deployment |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | No | Maximum number of log entries (default: 100, max: 1000) |
| since | string (datetime) | No | Return logs since this timestamp |
Example Requests
cURL:
curl -X GET "https://api.aloochat.ai/api/public/deployments/123e4567-e89b-12d3-a456-426614174000/logs?limit=50" \
-H "x-api-key: your_api_key_here"JavaScript:
const deploymentId = "123e4567-e89b-12d3-a456-426614174000";
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}/logs?limit=50`, {
method: 'GET',
headers: {
'x-api-key': 'your_api_key_here'
}
});
const logs = await response.json();
console.log('Deployment logs:', logs);Python:
import requests
deployment_id = "123e4567-e89b-12d3-a456-426614174000"
url = f"https://api.aloochat.ai/api/public/deployments/{deployment_id}/logs"
headers = {"x-api-key": "your_api_key_here"}
params = {"limit": 50}
response = requests.get(url, headers=headers, params=params)
logs = response.json()
print('Deployment logs:', logs)Response Examples
Deployment Object
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"deployable_type": "agent",
"deployable_id": "456e7890-e89b-12d3-a456-426614174000",
"agent_id": "456e7890-e89b-12d3-a456-426614174000",
"company_id": "789e0123-e89b-12d3-a456-426614174000",
"user_id": "abc12345-e89b-12d3-a456-426614174000",
"channel": "web",
"region_id": "def67890-e89b-12d3-a456-426614174000",
"languages": "en,es,fr",
"status": "active",
"config": "{\"max_concurrent_users\": 100}",
"error": null,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T14:45:00Z"
}Deployment Logs Response
{
"logs": [
{
"timestamp": "2024-01-20T14:45:00Z",
"level": "info",
"message": "Deployment started successfully"
},
{
"timestamp": "2024-01-20T14:46:00Z",
"level": "info",
"message": "Agent initialized and ready to serve requests"
},
{
"timestamp": "2024-01-20T14:47:00Z",
"level": "warning",
"message": "High memory usage detected: 85%"
}
]
}Deployment Statuses
| Status | Description |
|---|---|
pending | Deployment created but not yet started |
deploying | Deployment is in progress |
active | Deployment is running and serving requests |
failed | Deployment failed to start or encountered an error |
cancelled | Deployment was cancelled by user |
paused | Deployment is temporarily paused |
Use Cases
Automated Deployment Pipeline
// Create and start a deployment
const deployment = await fetch('https://api.aloochat.ai/api/public/deployments', {
method: 'POST',
headers: {
'x-api-key': 'your_api_key_here',
'Content-Type': 'application/json'
},
body: JSON.stringify({
deployable_type: 'agent',
deployable_id: 'agent-id-here',
channel: 'web',
region_id: 'region-id-here'
})
}).then(r => r.json());
// Start the deployment
await fetch(`https://api.aloochat.ai/api/public/deployments/${deployment.id}/start`, {
method: 'POST',
headers: { 'x-api-key': 'your_api_key_here' }
});
console.log('Deployment started:', deployment.id);Monitoring Deployments
// Monitor deployment status
const checkDeployment = async (deploymentId) => {
const response = await fetch(`https://api.aloochat.ai/api/public/deployments/${deploymentId}`, {
headers: { 'x-api-key': 'your_api_key_here' }
});
const deployment = await response.json();
if (deployment.status === 'failed') {
console.error('Deployment failed:', deployment.error);
} else if (deployment.status === 'active') {
console.log('Deployment is running successfully');
}
return deployment;
};Error Responses
The API returns standard HTTP status codes and error messages:
- 400 Bad Request: Invalid request data
- 401 Unauthorized: Missing or invalid API key
- 403 Forbidden: Insufficient permissions
- 404 Not Found: Deployment not found
- 429 Too Many Requests: Rate limit exceeded
- 500 Internal Server Error: Server error
Example error response:
{
"detail": "Deployment not found",
"status_code": 404
}