API: Message Queues
Endpoints
| Method | Path | Description |
|---|
| POST | /v1/queues | Create a message queue cluster |
| GET | /v1/queues | List all queue clusters |
| GET | /v1/queues/{id} | Get cluster details |
| DELETE | /v1/queues/{id} | Delete a cluster |
## Create Queue Cluster
POST /v1/queues
Request Body
{
"metadata": {"name": "event-bus"},
"spec": {
"engine": "rabbitmq",
"version": "3.12",
"node_count": 3,
"ha_enabled": true,
"management_ui": true,
"tls_enabled": true
}
}
Response (201)
{
"id": "queue-a1b2c3",
"metadata": {"name": "event-bus", "created_at": "2025-01-15T10:30:00Z"},
"spec": {
"engine": "rabbitmq",
"version": "3.12",
"node_count": 3,
"ha_enabled": true,
"management_ui": true,
"tls_enabled": true
},
"status": {
"state": "provisioning",
"endpoint": "",
"port": 5672,
"management_url": "",
"ready_nodes": 0
},
"operation_id": "op-queue-001"
}
MessageQueueSpec Fields
| Field | Type | Required | Description |
|---|
engine | string | Yes | rabbitmq or nats |
version | string | No | Engine version |
node_count | int | No | Number of nodes (default: 1) |
ha_enabled | bool | No | High availability mode (default: false) |
management_ui | bool | No | Enable management web UI (default: true for RabbitMQ) |
tls_enabled | bool | No | Enable TLS encryption (default: false) |
## Engine Comparison
| Feature | RabbitMQ | NATS |
|---|
| Protocol | AMQP 0.9.1 | NATS protocol |
| Routing | Exchange-based | Subject-based |
| Persistence | Yes | JetStream |
| Management UI | Yes | No |
| Default Port | 5672 | 4222 |