---
title: "Update Status Page Component"
description: "Changes name, description, group, position, uptime bar or manual state of a component."
---

`PATCH /api/status-pages/{id}/components/{componentId}`

## Access

Organization `admin` and `editor`. 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`). Path ids take the numeric id or the `publicId`. The change is written to the organization's audit log.

## Request Body (all optional, at least one field)

| Field | Type | Description |
|-------|------|-------------|
| `name` | string | Display name (1-120 chars). |
| `description` | string\|null | Max 1000 chars. `null` clears it. |
| `groupId` | number\|string\|null | Id or `publicId` of a group of this page. `null` moves the component out of its group. |
| `sort` | number | Position, 0-100000. |
| `showUptime` | boolean | Show the availability bar. |
| `manualStatus` | string | Manual components only: `operational`, `degraded`, `partial_outage`, `major_outage` or `maintenance`. |

`sourceKind` and the monitor of a component cannot be changed; delete the component and create a new one. To move many components at once, use [Reorder Status Page Components](/api/status-pages/reorder-status-page-components).

## Example (cURL)

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

curl -X PATCH "$BASE_URL/api/status-pages/1/components/8" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "manualStatus": "partial_outage" }'
```

## Response

`200 OK` with the updated component, in the same shape as on [List Status Page Components](/api/status-pages/list-status-page-components).

## Common errors

- `400 Bad Request` (`invalidRequestBody`) when the body is empty or a field is invalid
- `400 Bad Request` (`statusPageComponentNotManual`) when `manualStatus` is sent for a monitor component
- `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
- `404 Not Found` (`statusPageComponentNotFound`) when the component does not exist on this page
- `404 Not Found` (`statusPageComponentGroupNotFound`) when `groupId` is not a group of this page
