Authentication
All requests require an API key:pod_admin_ prefix.
Deployments
POST /api/v1/deployments
Upload a new agent deployment bundle. Content-Type:multipart/form-data
| Field | Type | Required | Description |
|---|---|---|---|
file | file | Yes | tar.gz bundle |
agent_type | string | Yes | Agent type name |
version | string | Yes | Semantic version |
- Receives tar.gz bundle
- Computes SHA256 checksum
- Uploads to S3:
{env}/deployments/{type}/{version}/{type}-{version}.tar.gz - Generates
deployment_id:{type}:{version}@{hash_prefix} - Forwards to coordinator for initial deployment
- Returns
deployment_id
Instances
POST /api/v1/instances
Create a new agent instance.- Validates API key and tenant scope
- Queries Valkey for least-loaded coordinator
- Forwards to coordinator:
POST /instances - Returns
instance_id
GET /api/v1/instances/
Get instance info including status, config, and Chronicle WebSocket endpoint.DELETE /api/v1/instances/
Stop and remove an instance.API Keys
POST /api/v1/keys
Create a new tenant API key.GET /api/v1/keys
List API keys.DELETE /api/v1/keys/
Revoke a key.Secrets
PUT /api/v1/secrets/
Set secrets for an agent type (encrypted at rest).GET /api/v1/secrets/
Retrieve secrets (admin only).Configuration
GET /api/v1/config
Get current platform configuration including available models (fetched from Ensemble).PUT /api/v1/config
Update runtime configuration.GET /api/v1/config/models
List available models with capabilities and pricing (proxied from Ensemble/api/v1/models).