hosting
GET /v1/sites/{siteId}/hosting/usage
Get a site's current-period hosting usage.
Authentication
Send an API key as a bearer token. The key must carry the sites.view permission; a key without it is refused with 403, not 404.
This endpoint takes no organisation id. Your key already identifies the organisation it belongs to, and the response is scoped to it.
Try it
Replace anything in angle brackets with your own values, and the key placeholder with a key from your dashboard.
curl -X GET https://api.zinndigital.com/v1/sites/{siteId}/hosting/usage \
-H "Authorization: Bearer zdk_live_…"Signed in? The API console in your dashboard fills in your real organisation id and your own key, and runs the request against the live API so you can see the actual response. Open this endpoint in the API console
Details
Disk and **outbound** bandwidth for the site's package this period, read from the vendor — the same figures the metering basis uses (docs/62 §3.4). Inbound bytes are deliberately not reported: billing a customer for what was sent *to* their site would charge them for other people's traffic, including an attack. `periods` carries the daily/monthly/yearly series where the vendor publishes it, and is empty otherwise rather than fabricated. `404` for a site with no vendor package. Requires `sites.view`.
Parameters
| Name | Type | Required | What it is |
|---|---|---|---|
siteId (path) | Uuid | Yes | Site ID (UUIDv7). |
Response
| Name | Type | Required | What it is |
|---|---|---|---|
disk_used_mb | integer | Yes | Disk used this period, in MB. |
bandwidth_mb | integer | Yes | Outbound bandwidth this period, in MB. Inbound is never billed or shown. |
requests | integer | Yes | Hits this period, as the vendor counts them. |
periods | object | Yes | Daily / monthly / yearly hit and byte totals where the vendor publishes them; empty otherwise, never fabricated. |
Errors this endpoint can return
401 · 403 · 404 · 429 · 503