# Re-open incident

Re-open a resolved incident, clearing its resolved state and adding a new timeline entry.

Source: https://statusdashboard.com/docs/api/event-management/events/reopen

`POST /app/events/{id}/reopen`

Re-opens a resolved incident. Atomically clears the resolved state, removes the end time, updates the current status to the specified non-final workflow phase, and appends a new timeline entry. Returns the full updated event object.

> This endpoint is only valid for 
>   **incident**
>    events that are currently resolved (
>   `resolvedAt`
>    is set). Use the 
>   [Create timeline entry](/docs/api/event-management/events/timeline/create)
>    endpoint to post status updates during an 
>   **active**
>    incident. Once resolved, non-final timeline updates are rejected — you must use this re-open endpoint instead.

***

## Path parameters
| Parameter | Description   |
| --------- | ------------- |
| `id`      | The event ID. |

***

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

### Request body
| Field         | Type   | Required | Description                                                                       |
| ------------- | ------ | -------- | --------------------------------------------------------------------------------- |
| `statusLabel` | string | Yes      | A non-final workflow phase label for the incident workflow.                       |
| `message`     | string | Yes      | The message explaining why the incident is being re-opened. Max 5,000 characters. |

***

## Sample request
```bash
curl -X POST https://api.statusdashboard.com/app/events/4f8b2e1a-3c7d-4e9f-a0b1-c2d3e4f56789/reopen \
  -H "Authorization: Bearer bcf847abf5c6:def456" \
  -H "Content-Type: application/json" \
  -d '{
    "statusLabel": "Investigating",
    "message": "The issue has recurred. We are re-investigating."
  }'
```

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

```json
{
  "event": {
    "id": "4f8b2e1a-3c7d-4e9f-a0b1-c2d3e4f56789",
    "eventType": "incident",
    "title": "API latency elevated",
    "status": { "label": "Investigating", "isFinal": false, "isScheduled": false },
    "severity": { "label": "Degraded Performance", "description": "Some functionality is impaired.", "icon": "alert-triangle", "color": "#f59e0b" },
    "affectedComponents": {
      "6b0d3a8c-5e2f-4b7d-9c1e-f23456789abc": {
        "name": "API Gateway",
        "status": { "label": "Degraded Performance", "description": "Some functionality is impaired.", "icon": "alert-triangle", "color": "#f59e0b" }
      }
    },
    "description": "We are investigating elevated API response times.",
    "startTime": "2026-04-25T09:45:00.000Z",
    "endTime": null,
    "resolvedAt": null,
    "publish": true,
    "notifications": true,
    "timeline": [
      {
        "statusId": "7a3f9d2e-1b4c-4e8a-90b2-c3d4e5f67890",
        "timestamp": "2026-04-25T11:20:00.000Z",
        "status": { "label": "Resolved", "description": "Issue is resolved.", "color": "#22c55e", "icon": "check-circle" },
        "message": "The incident has been resolved.",
        "author": "alice@example.com",
        "isEdited": false
      },
      {
        "statusId": "9d1a4f7b-2c5e-4f8b-a1c3-d4e5f6789012",
        "timestamp": "2026-04-25T12:05:00.000Z",
        "status": { "label": "Investigating", "description": "We are looking into the issue.", "color": "#D97706", "icon": "search" },
        "message": "The issue has recurred. We are re-investigating.",
        "author": "alice@example.com",
        "isEdited": false
      }
    ],
    "createdAt": "2026-04-25T09:45:00.000Z",
    "updatedAt": "2026-04-25T12:05:00.000Z"
  }
}
```

***

## Error responses
| Status | When                                                                                                                                                         |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `400`  | Validation error — missing fields, invalid `statusLabel`, `statusLabel` maps to a final phase, event is not an incident, or event is not currently resolved. |
| `403`  | Insufficient permissions, or too many incidents are currently open for this organization.                                                                    |
| `404`  | Event not found.                                                                                                                                             |
