MethodPathSummaryAuth
GET/v1/dashboardRead the authenticated tenant dashboardSession

Contract file:api/control-dashboard.openapi.yaml

Operation details

GET /v1/dashboard

Read the authenticated tenant dashboard

operationId
getTenantDashboard
Auth
  • Session: the Bearer session of a signed-in control plane user, used by the customer in their own control plane; a plugin must never ask for it.
Required permissions

All of:sites.read certificates.read billing.account.read package_subscriptions.read traffic_packages.read announcements.read jobs.read

Description (from the contract)

The target tenant, scope, user, and session are derived only from the authenticated tenant session. Any tenant_id parameter, including an empty or matching value, returns dashboard_scope_forbidden. The live session must conjunctively retain every required permission listed below in the same repeatable-read PostgreSQL transaction as the aggregate reads. nodes.read is optional; when absent, node-backed resource facts use the explicit unavailable branch.

Parameters

getTenantDashboard Parameters
NameInTypeRequiredDescription
rangequerystring: today / yesterday / seven_days / thirty_daysYesTenant calendar range in the requested timezone.
timezonequerystringYesIANA timezone name other than Local. Calendar boundaries converted to UTC must be hour aligned; zones with a non-hour boundary offset are rejected rather than rounded.
site_idquerystring(uuid)NoOptional canonical site UUID for ClickHouse drill-down; tenant scope remains session-derived.
node_idquerystring(uuid)NoOptional canonical node UUID for ClickHouse drill-down; tenant scope remains session-derived.
X-Request-IDheaderstringNoOptional safe correlation ID; invalid values are replaced.

Responses

getTenantDashboard Responses
StatusDescription
200Version 2 dashboard snapshot for the authenticated tenant only.

Fields:dashboard_version: integer meta: DashboardMeta identity_verification: object | UnavailableSection profile: object | UnavailableSection resources: object | UnavailableSection certificates: object | UnavailableSection billing: object | UnavailableSection subscriptions: object | UnavailableSection traffic_packages: object | UnavailableSection operations: object | UnavailableSection notices: object | UnavailableSection account_security: object | UnavailableSection network: object | UnavailableSection analytics: object | UnavailableSection

400dashboard_invalid_request
401dashboard_authentication_required
403dashboard_scope_forbidden or dashboard_permission_denied
408dashboard_request_cancelled
500dashboard_internal_error
502dashboard_response_too_large
503dashboard_storage_unavailable; no zero-value data is substituted.
504dashboard_query_timeout

What to do on failure

  • 400 Fix the parameters or body per the field list; do not retry unchanged.
  • 401 Check the credential format and whether it expired or was rotated.
  • 403 Check the key scopes, the owner’s current permissions and the tenant scope; never switch to a more privileged account.
  • 500 Outcome unknown: read back by ID or list first, then decide whether to retry with the original Idempotency-Key.
  • 503 A dependency is unavailable: retry later with the original Idempotency-Key.

↑ Back to list