Get usage statistics
curl --request GET \
--url https://my.server.express/api/v1/cloud/{id}/stats \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.server.express/api/v1/cloud/{id}/stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.server.express/api/v1/cloud/{id}/stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"timeframe": "hour",
"current": {
"status": "<string>",
"uptime": 123,
"cpus": 123,
"cpu": 123,
"mem": 123,
"maxmem": 123,
"disk": 123,
"maxdisk": 123
},
"emissions": {
"intensity": 123,
"country": "<string>",
"currentGph": 123,
"windowTotalG": 123
},
"series": [
{
"time": 123,
"cpu": 123,
"mem": 123,
"maxmem": 123,
"netin": 123,
"netout": 123,
"diskread": 123,
"diskwrite": 123,
"emissionsGph": 123
}
]
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}Cloud
Get usage statistics
Live VM state plus the Proxmox RRD usage series for the chosen window, with a rough CO₂e estimate (per-vCPU power model × PUE 1.2 × the node country’s grid intensity — not billing-grade). Empty RRD slots are dropped. Owners, any team role and staff can read it.
GET
/
v1
/
cloud
/
{id}
/
stats
Get usage statistics
curl --request GET \
--url https://my.server.express/api/v1/cloud/{id}/stats \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.server.express/api/v1/cloud/{id}/stats', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.server.express/api/v1/cloud/{id}/stats"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"success": true,
"data": {
"timeframe": "hour",
"current": {
"status": "<string>",
"uptime": 123,
"cpus": 123,
"cpu": 123,
"mem": 123,
"maxmem": 123,
"disk": 123,
"maxdisk": 123
},
"emissions": {
"intensity": 123,
"country": "<string>",
"currentGph": 123,
"windowTotalG": 123
},
"series": [
{
"time": 123,
"cpu": 123,
"mem": 123,
"maxmem": 123,
"netin": 123,
"netout": 123,
"diskread": 123,
"diskwrite": 123,
"emissionsGph": 123
}
]
}
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}{
"success": false,
"error": "<string>"
}Authorizations
bearerAuthapiToken
Session access token (JWT) from POST /v1/auth/login or /v1/auth/refresh. A session satisfies every API scope.
Path Parameters
Service id of the cloud server.
Query Parameters
Window for the series. Unknown values fall back to hour.
Available options:
hour, day, week, month