> For the complete documentation index, see [llms.txt](https://docs.statuspal.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.statuspal.io/platform/webhooks.md).

# Webhooks

Statuspal supports outbound webhooks so you can receive events from your status page and monitoring system in real time. When a selected event occurs, Statuspal sends a `POST` request to your endpoint with a JSON payload in the body.

## Setup

1. Click **Webhooks** in the admin sidebar, then click **New Webhook**.\
   \
   ![New Webhook button](/files/tOWWkNnR7nuXzzLUh14x)
2. Enter your **endpoint URL**.
3. Select one or more **events** to subscribe to.
4. Click **Create**.

Once created, click **Send test request** to verify that your endpoint receives payloads correctly. The latest response from your server will appear inline.

![Webhook test request result](/files/EAfzL1mksteaxiJlGlz6)

## Webhook events

### `service.monitored_status.updated`

Triggered when a service configured with Statuspal's internal monitoring changes status (up/down).

```json
{
  "event": "service.monitored_status.updated",
  "data": {
    "object": {
      "type": "service",
      "parent_id": null,
      "name": "API",
      "id": 123,
      "display_response_time_chart": false,
      "current_incident_type": null
    },
    "monitored_status": "up"
  }
}
```

### `incident.created`, `incident.updated`, `incident.deleted`

Triggered during the lifecycle of an incident. All three events share the same payload shape.

```json
{
  "event": "incident.updated",
  "data": {
    "object": {
      "type": "incident",
      "starts_at": "2020-03-11T12:47:17",
      "ends_at": null,
      "service_ids": [1, 2],
      "l_title": [{ "lang": "en", "text": "Incident title" }],
      "id": 123
    }
  }
}
```
