Skip to content

Manage the runtime state of containers and inspect their transition history. Use these endpoints to start, stop, restart, pause, or resume a container, and to retrieve a paginated audit trail of every status change.

GET /api/v1/containers/{id}/status-logs

Returns a paginated list of status transition logs for a single container, ordered by transition time by default.

NameInTypeRequiredDescription
idpathstringYesContainer ID
pagequerynumberNoPage number. Default: 1
limitquerynumberNoNumber of results per page. Default: 10
sort_byquerystringNoField to sort by. Default: "transition_time". Allowed: "transition_time", "created_at", "to_status", "from_status"
sort_orderquerystringNoSort direction. Default: "desc". Allowed: "asc", "desc"
{
"statusCode": 200,
"message": "Container status logs retrieved successfully",
"data": {
"logs": [
{
"id": "507f1f77bcf86cd799439077",
"container_id": "507f1f77bcf86cd799439011",
"from_status": "stopped",
"to_status": "running",
"transition_time": "2025-01-15T10:30:00.000Z",
"duration_ms": 3500,
"triggered_by": "user",
"metadata": {
"command": "start"
}
}
],
"pagination": {
"total": 15,
"page": 1,
"limit": 10,
"totalPages": 2
}
}
}
const { data } = await client.api.containers.getStatusLogs({
id: "507f1f77bcf86cd799439011",
page: 1,
limit: 10,
sort_by: "transition_time",
sort_order: "desc",
});

POST /api/v1/containers/{id}/{operation}

Performs a lifecycle operation on a container. The {operation} path segment selects the action.

NameInTypeRequiredDescription
idpathstringYesContainer ID
operationpathstringYesLifecycle operation to perform. Allowed: "start", "stop", "force-stop", "restart", "pause", "resume"

This endpoint accepts no request body.

{
"statusCode": 200,
"message": "Container operation completed successfully",
"data": {
"error": false,
"operation": "start",
"container_id": "507f1f77bcf86cd799439011",
"project_id": "507f1f77bcf86cd799439033",
"message": "Container started successfully",
"status": "running"
}
}
const { data } = await client.api.containers.manage({
operation: "start",
});