Inventory
List resources
# List all resources (paginated)
GET /v1/inventory/resources
?provider=aws # Filter by cloud: aws | azure | gcp | oracle | alibaba | huawei
&type=ec2_instance # Filter by resource type
®ion=ap-southeast-1 # Filter by region
&page=1 # Page number (default: 1)
&per_page=100 # Results per page (max: 500)
# Response
{
"data": [
{
"id": "res_01J9...",
"type": "ec2_instance",
"provider": "aws",
"region": "ap-southeast-1",
"name": "web-prod-01",
"status": "running",
"tags": { "env": "prod", "team": "platform" },
"metadata": { "instance_type": "t3.medium", "image_id": "ami-..." },
"discovered_at": "2026-06-22T04:00:00Z"
}
],
"meta": { "total": 1247, "page": 1, "per_page": 100 }
}
Get a single resource
GET /v1/inventory/resources/:id
# Response includes full metadata and available lifecycle actions
{
"id": "res_01J9...",
"type": "ec2_instance",
...
"actions": ["start", "stop", "reboot", "terminate"]
}
Provisioning
Submit a provisioning request
POST /v1/catalog/requests
Content-Type: application/json
{
"resource_type": "ec2_instance",
"cloud_account_id": "acct_01J8...",
"region": "ap-southeast-1",
"name": "api-staging-01",
"environment": "staging",
"config": {
"instance_type": "t3.medium",
"ami_id": "ami-0df7a207adb9748c7",
"vpc_id": "vpc-0abc...",
"subnet_id": "subnet-0def...",
"key_name": "my-keypair"
},
"tags": { "env": "staging", "team": "backend", "project": "api-v2" }
}
# Response
{
"request_id": "req_01JA...",
"status": "pending_approval",
"estimated_monthly_cost_usd": 28.50
}
Events
List platform events (audit log)
GET /v1/events
?from=2026-06-01T00:00:00Z
&to=2026-06-22T23:59:59Z
&actor=user@example.com
&resource_id=res_01J9...
&action=resource.terminated
# Response
{
"data": [
{
"id": "evt_01JB...",
"action": "resource.terminated",
"actor": { "type": "user", "email": "ops@example.com" },
"resource_id": "res_01J9...",
"timestamp": "2026-06-22T10:15:32Z",
"metadata": { "reason": "decommission", "ticket": "INC-4821" }
}
]
}