---
title: "Resolve Change Request"
description: "Accepts or rejects an open change request."
---

`PATCH /api/change-requests/:id`

Organization write access required. The status transition is atomic: under concurrent resolves only one caller wins; the loser receives `409`.

Accepting a request with `kind: request_managed` additionally flips the target monitor to `managementType: managed` (dispatched to the correct table for the monitor's type).

## Request Body

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `status` | string | Yes | `accepted` or `rejected` |

## Example (cURL)

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

curl -X PATCH "$BASE_URL/api/change-requests/12" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "status": "accepted" }'
```

## Response

```json
{
  "id": 12,
  "status": "accepted"
}
```

## Common errors

- `400 Invalid change-request identifier`
- `401 Unauthorized` when you are not logged in
- `403 Forbidden` when you are not an organization admin
- `404 Change request not found`
- `409 Change request already resolved` when the request is no longer `open`
