> ## Documentation Index
> Fetch the complete documentation index at: https://docs.korve.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# alertIncidents

> Retained project alert incidents with acknowledgement and automatic resolution state.

Retained project alert incidents with acknowledgement and automatic resolution state.

## alertIncidents.list

Page alert incidents, newest first.

```text theme={null}
GET /v1/orgs/{orgId}/projects/{projectId}/alert-incidents
```

* **Auth:** Organization API key (`Authorization: Bearer korve_...`) or dashboard session.
* **Minimum role:** `member`
* **Risk:** `read`

### Query parameters

| Name     | Type    | Required | Description                                 |
| -------- | ------- | -------- | ------------------------------------------- |
| `cursor` | string  | No       | —                                           |
| `limit`  | integer | No       | —                                           |
| `status` | string  | No       | One of: `open`, `acknowledged`, `resolved`. |

### Example

```bash theme={null}
curl "https://api.korve.dev/v1/orgs/$ORG_ID/projects/$PROJECT_ID/alert-incidents?cursor=example" \
  -H "Authorization: Bearer korve_..."
```

### Responses

| Status | Description                           |
| ------ | ------------------------------------- |
| `200`  | Alert incident page.                  |
| `404`  | No such project in this organization. |

### Response body (200)

| Field                       | Type                                | Description                                 |
| --------------------------- | ----------------------------------- | ------------------------------------------- |
| `items`                     | object\[]                           | —                                           |
| `items[].id`                | string                              | —                                           |
| `items[].policyId`          | string                              | —                                           |
| `items[].status`            | string                              | One of: `open`, `acknowledged`, `resolved`. |
| `items[].severity`          | string                              | One of: `info`, `warning`, `critical`.      |
| `items[].title`             | string                              | —                                           |
| `items[].summary`           | string                              | —                                           |
| `items[].scope`             | object                              | —                                           |
| `items[].scope.environment` | string                              | —                                           |
| `items[].scope.databaseId`  | string or null                      | —                                           |
| `items[].scope.queueId`     | string or null                      | —                                           |
| `items[].scope.cronId`      | string or null                      | —                                           |
| `items[].observedValue`     | number or string or boolean or null | —                                           |
| `items[].openedAt`          | string                              | Format: `date-time`.                        |
| `items[].acknowledgedAt`    | string or null                      | Format: `date-time`.                        |
| `items[].acknowledgedBy`    | string or null                      | —                                           |
| `items[].resolvedAt`        | string or null                      | Format: `date-time`.                        |
| `nextCursor`                | string or null                      | —                                           |

## alertIncidents.get

Get one alert incident and its current state.

```text theme={null}
GET /v1/orgs/{orgId}/projects/{projectId}/alert-incidents/{incidentId}
```

* **Auth:** Organization API key (`Authorization: Bearer korve_...`) or dashboard session.
* **Minimum role:** `member`
* **Risk:** `read`

### Example

```bash theme={null}
curl "https://api.korve.dev/v1/orgs/$ORG_ID/projects/$PROJECT_ID/alert-incidents/$INCIDENT_ID" \
  -H "Authorization: Bearer korve_..."
```

### Responses

| Status | Description                       |
| ------ | --------------------------------- |
| `200`  | Alert incident.                   |
| `404`  | No such incident in this project. |

### Response body (200)

| Field               | Type                                | Description                                 |
| ------------------- | ----------------------------------- | ------------------------------------------- |
| `id`                | string                              | —                                           |
| `policyId`          | string                              | —                                           |
| `status`            | string                              | One of: `open`, `acknowledged`, `resolved`. |
| `severity`          | string                              | One of: `info`, `warning`, `critical`.      |
| `title`             | string                              | —                                           |
| `summary`           | string                              | —                                           |
| `scope`             | object                              | —                                           |
| `scope.environment` | string                              | —                                           |
| `scope.databaseId`  | string or null                      | —                                           |
| `scope.queueId`     | string or null                      | —                                           |
| `scope.cronId`      | string or null                      | —                                           |
| `observedValue`     | number or string or boolean or null | —                                           |
| `openedAt`          | string                              | Format: `date-time`.                        |
| `acknowledgedAt`    | string or null                      | Format: `date-time`.                        |
| `acknowledgedBy`    | string or null                      | —                                           |
| `resolvedAt`        | string or null                      | Format: `date-time`.                        |

## alertIncidents.acknowledge

Acknowledge an open incident without suppressing its underlying policy or automatic recovery checks.

```text theme={null}
POST /v1/orgs/{orgId}/projects/{projectId}/alert-incidents/{incidentId}/acknowledge
```

* **Auth:** Organization API key (`Authorization: Bearer korve_...`) or dashboard session.
* **Minimum role:** `admin`
* **Risk:** `write`

### Request body

| Field  | Type   | Required | Description |
| ------ | ------ | -------- | ----------- |
| `note` | string | No       | —           |

### Example

```bash theme={null}
curl -X POST "https://api.korve.dev/v1/orgs/$ORG_ID/projects/$PROJECT_ID/alert-incidents/$INCIDENT_ID/acknowledge" \
  -H "Authorization: Bearer korve_..." \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Responses

| Status | Description                       |
| ------ | --------------------------------- |
| `200`  | Acknowledged incident.            |
| `404`  | No such incident in this project. |
| `409`  | Incident is already resolved.     |

### Response body (200)

| Field               | Type                                | Description                                 |
| ------------------- | ----------------------------------- | ------------------------------------------- |
| `id`                | string                              | —                                           |
| `policyId`          | string                              | —                                           |
| `status`            | string                              | One of: `open`, `acknowledged`, `resolved`. |
| `severity`          | string                              | One of: `info`, `warning`, `critical`.      |
| `title`             | string                              | —                                           |
| `summary`           | string                              | —                                           |
| `scope`             | object                              | —                                           |
| `scope.environment` | string                              | —                                           |
| `scope.databaseId`  | string or null                      | —                                           |
| `scope.queueId`     | string or null                      | —                                           |
| `scope.cronId`      | string or null                      | —                                           |
| `observedValue`     | number or string or boolean or null | —                                           |
| `openedAt`          | string                              | Format: `date-time`.                        |
| `acknowledgedAt`    | string or null                      | Format: `date-time`.                        |
| `acknowledgedBy`    | string or null                      | —                                           |
| `resolvedAt`        | string or null                      | Format: `date-time`.                        |
