apps_hosting_usage_retrieve
const url = 'https://historical-api.invalid/v1/v1/apps/example/hosting-usage';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://historical-api.invalid/v1/v1/apps/example/hosting-usage \ --header 'Authorization: Bearer <token>'HISTORICAL REFERENCE — this snapshot describes the previous developer API. It is not the current contract. See https://docs.exepad.com/interfaces/rest/ for supported routes. App creation and publishing currently use Studio.
GET /v1/apps/{id}/hosting-usage — per-app hosting meters (Phase 4/5 dashboard source). Daily worker-counter snapshots for the current month plus per-meter totals, published/preview split. Ownership enforced via DevAppService.get_app_for_user (404 on someone else’s app).
Scope: apps:read, enforced via require_scope like every other app
endpoint — a narrow-scoped key must NOT read another app’s usage.
NOT billing_exempt: this is a per-app read, metered like GET /v1/apps/{id}
(a GET never hits RequirePositiveBalance, so an empty wallet still reads).
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”No response body