---
title: "List components"
method: GET
path: "/status-pages/{statusPage}/components"
tags: ["Status page components"]
---

# List components

`GET /status-pages/{statusPage}/components`

## Request

- Base URL: `https://api.spectate.net/v1`
- URL: `https://api.spectate.net/v1/status-pages/{statusPage}/components`
- Auth: HTTP bearer

Returns the page's components by position, lowest first. `position` is one order for the
whole page. The page shows a named group once, where its first component falls, so
components of a group that are not next to each other in this list still show together.

## Path parameters

- `statusPage` string, uuid, required

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Paginated set of `StatusPageComponent`

- object
  - `current_page` integer, required
  - `data` StatusPageComponent[], required
    - `id` string, uuid, required: Component ID
    - `name` string, required: Name shown on the page
    - `description` string, nullable, required: Text shown with the name; `null` for none
    - `group` string, nullable, required: Group the component is shown in; `null` for no group
    - `position` integer, required: Order on the whole page, lowest first. A named group shows once, where its first component falls
    - `status` 'operational' | 'degraded_performance' | 'partial_outage' | 'major_outage' | 'under_maintenance', required: A status page component's status, derived from incidents and maintenance. | | |---| | `operational` <br/> Working normally. | | `degraded_performance` <br/> Slower or less reliable than usual. | | `partial_outage` <br/> Down for some visitors or some functions. | | `major_outage` <br/> Down. | | `under_maintenance` <br/> In planned maintenance. |
    - `monitor` MonitorReference, required: A monitor something follows.
      - `id` string, uuid, required: Monitor ID
      - `label` string, required: Monitor name
    - `show_latency_chart` boolean, required: Whether the page shows the monitor's response time chart under the component
    - `created_at` string, date-time, required: When the component was created
  - `first_page_url` string, nullable, required
  - `from` integer, nullable, required
  - `last_page_url` string, nullable, required
  - `last_page` integer, required
  - `links` object[], required: Generated paginator links.
    - `url` string, nullable, required
    - `label` string, required
    - `active` boolean, required
  - `next_page_url` string, nullable, required
  - `path` string, nullable, required: Base path for paginator generated URLs.
  - `per_page` integer, required: Number of items shown per page.
  - `prev_page_url` string, nullable, required
  - `to` integer, nullable, required: Number of the last item in the slice.
  - `total` integer, required: Total number of items being paginated.

## Other responses

- `401`: `UNAUTHENTICATED`: no token was sent. `INVALID_TOKEN`: the token is unknown or revoked. `TOKEN_EXPIRED`: the token has expired.
- `403`: `FORBIDDEN`: the token lacks an ability this endpoint requires (listed in `details.required_abilities`). `TEAM_PENDING_DELETION`: the team is scheduled for deletion. `TEAM_SUSPENDED`: Spectate suspended the team.
- `404`: `RESOURCE_NOT_FOUND`: there is no such resource in this team.
- `429`: `RATE_LIMITED`: too many requests for this token. Wait for the number of seconds in `Retry-After`.

---

[API](https://skmtc.dev/spectate/apis/spectate-api.md) - [All operations](https://skmtc.dev/spectate/apis/spectate-api/llms.txt) - [OpenAPI document](https://skmtc.dev/spectate/apis/spectate-api/revisions/9b1a233997de?raw)
