---
title: "List Status Page Component Groups"
description: "Returns every component group of a status page, ordered by sort."
---

`GET /api/status-pages/{id}/groups`

Groups bundle [components](/api/status-pages/list-status-page-components) under a heading on the public page. The list holds every group of the page in one page of results, ordered by `sort`, then `id`. A page has at most 100 groups.

## Access

Organization `admin`, `editor` and `readonly`. A customer-scoped user or API token only reaches pages of a customer in its scope; a page without a customer (`customerId: null`) answers it with `403` (`forbidden`). A page of another organization answers `404` (`statusPageNotFound`). `:id` takes the numeric id or the `publicId` of the status page.

## Example (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<your-api-token>"

curl -X GET "$BASE_URL/api/status-pages/1/groups" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json"
```

## Response

`200 OK`

```json
{
  "items": [
    {
      "id": 3,
      "publicId": "9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b",
      "statusPageId": 1,
      "name": "Core services",
      "sort": 0,
      "collapsed": false,
      "createdAt": "2026-10-27T08:55:00.000Z",
      "updatedAt": "2026-10-27T08:55:00.000Z"
    }
  ],
  "total": 1,
  "page": 1,
  "perPage": 1
}
```

`collapsed` controls whether the group starts collapsed on the public page.

## Common errors

- `400 Bad Request` (`invalidIdentifier`) when an id in the path is neither a number nor a UUID
- `401 Unauthorized` when you are not logged in
- `403 Forbidden` (`forbidden`) when your role may not do this, or for a customer-scoped caller on a page without a customer or of another customer
- `403 Forbidden` (`statusPagesModuleDisabled`) when the status pages module is not activated
- `404 Not Found` (`statusPageNotFound`) when the status page does not exist or belongs to another organization
