StatusDashboard
Dashboards

List dashboards

List all dashboards for the organization.

View Markdown

GET /app/dashboards

Returns all dashboards belonging to the caller's organization.

Requires the admin or subscriber role. The event role does not use dashboard APIs. Create, update, and delete operations remain admin-only.

Each item is a list projection — enough for navigation, domain status, component wiring, and subscription toggles. Tab-specific settings (branding, content, SSO, custom code, and so on) are not included; use the dedicated tab GET endpoints for those fields.


Request

See API Basics for required headers.

This endpoint takes no request body or query parameters.


Sample request

curl https://api.statusdashboard.com/app/dashboards \
  -H "Authorization: Bearer bcf847abf5c6:def456"

Sample response

Status: 200 OK

{
  "dashboards": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "tenantId": "f47ac10b-58cc-4372-a567-0e02b2c3d480",
      "name": "Production Status",
      "subdomain": "acme",
      "pageTitle": "Acme Status",
      "description": "Status dashboard for all Acme services",
      "customDomain": "status.acme.com",
      "customDomainStatus": "active",
      "customDomainCreatedAt": "2026-02-01T10:00:00.000Z",
      "customDomainValidationStartedAt": "2026-02-01T10:05:00.000Z",
      "customDomainUpdatedAt": "2026-02-15T14:30:00.000Z",
      "cloudFrontTenantId": "cf-tenant-abc123",
      "cloudFrontTenantArn": "arn:aws:cloudfront::123456789012:distribution/EDFDVBD6EXAMPLE/tenant/cf-tenant-abc123",
      "components": {
        "compact": false,
        "groups": {
          "enabled": true,
          "expandByDefault": false,
          "items": [
            {
              "id": "d4e5f6a7-b8c9-0123-def0-234567890123",
              "name": "Infrastructure",
              "order": 1
            }
          ]
        },
        "components": {
          "a1b2c3d4-e5f6-7890-abcd-ef1234567891": {
            "displayOrder": 1,
            "groupId": "d4e5f6a7-b8c9-0123-def0-234567890123"
          },
          "f6a7b8c9-d0e1-2345-f012-456789012345": {
            "displayOrder": 2
          }
        }
      },
      "subscriptions": {
        "email": { "enabled": true },
        "sms": { "enabled": false }
      },
      "enabled": true,
      "createdAt": "2026-01-10T12:00:00.000Z",
      "updatedAt": "2026-04-01T08:00:00.000Z"
    }
  ]
}

When custom domain setup fails, customDomainError may be present. When no custom domain is configured, custom-domain fields are absent.


Response fields

Each object in dashboards:

FieldTypeDescription
idstringUnique dashboard ID (UUID).
tenantIdstringOrganization ID.
namestringDashboard display name.
subdomainstringSubdomain slug.
pageTitlestringPublic browser tab title.
descriptionstring | absentShort dashboard description.
customDomainstring | absentCustom hostname when configured.
customDomainStatusstring | absentCustom domain lifecycle status (awaiting_dns, validating, active, failed, removing).
customDomainErrorstring | absentError message when status is failed.
customDomainCreatedAtstring | absentISO 8601 UTC timestamp when the custom domain was first configured.
customDomainValidationStartedAtstring | absentISO 8601 UTC timestamp when CloudFront provisioning started.
customDomainUpdatedAtstring | absentISO 8601 UTC timestamp of the last custom-domain status change.
cloudFrontTenantIdstring | absentCloudFront distribution tenant ID (internal provisioning reference).
cloudFrontTenantArnstring | absentCloudFront distribution tenant ARN.
componentsobjectNested component wiring — see Get dashboard components.
components.compactbooleanCompact display mode for many components.
components.groupsobject | absentComponent group configuration.
components.componentsobjectMap of component UUID → { displayOrder, groupId? }.
subscriptionsobjectPer-dashboard email, SMS, and WhatsApp subscription toggles (email.enabled, sms.enabled, whatsapp.enabled). Plan entitlement still applies on the public subscribe surface.
enabledbooleanWhether the dashboard is publicly accessible.
createdAtstringISO 8601 UTC creation timestamp.
updatedAtstringISO 8601 UTC last-updated timestamp.

Fields not included in the list projection (use tab GET endpoints instead): systemMessage, content, customCode, branding, sso, ipAllowlist, emailSender, whitelabel, support, widget, and emailDomainAllowlist.


Error responses

StatusWhen
403Insufficient permissions.

On this page

We use cookies

We use essential cookies to keep the site working, and optional analytics cookies to understand how it's used. Read our Privacy Policy.