# Update segment

Replace a segment's name and tag selection.

Source: https://statusdashboard.com/docs/api/subscriptions/segments/update

`PUT /app/segments/{segmentId}`

Replaces the full segment definition (`name` and `tagIds`). Requires the **Segments** plan feature and admin role.

***

## Path parameters
| Parameter   | Type | Description       |
| ----------- | ---- | ----------------- |
| `segmentId` | uuid | Segment to update |

***

## Request
See [API Basics](/docs/api) for required headers.

### Body
| Field    | Type    | Required | Description                                                                                  |
| -------- | ------- | -------- | -------------------------------------------------------------------------------------------- |
| `name`   | string  | Yes      | Segment name. 1–50 characters. Unique per org (case-insensitive).                            |
| `tagIds` | uuid\[] | Yes      | Existing tag UUIDs. May be empty (`[]`). Subject to the organization `tagsPerSegment` limit. |

***

## Sample request
```bash
curl -X PUT https://api.statusdashboard.com/app/segments/8f3c2e1a-4b5d-6e7f-8a9b-0c1d2e3f4a5b \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Leadership",
    "tagIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"]
  }'
```

## Sample response
**Status: `200 OK`**

```json
{
  "segment": {
    "id": "8f3c2e1a-4b5d-6e7f-8a9b-0c1d2e3f4a5b",
    "name": "Leadership",
    "tagIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
    "tags": [
      { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Executive" }
    ],
    "activeSubscriberCount": 9,
    "createdAt": "2026-06-01T12:00:00.000Z",
    "updatedAt": "2026-06-15T09:30:00.000Z"
  }
}
```

***

## Error responses
| Status | When                                                               |
| ------ | ------------------------------------------------------------------ |
| `400`  | Validation error, duplicate name, or unknown `tagId`.              |
| `403`  | Not admin, feature not enabled, or `tagsPerSegment` limit reached. |
| `404`  | Segment not found.                                                 |
