<!-- source: https://modelux.ai/docs/api/management-webhooks -->

> Manage webhook endpoints and deliveries.

# Webhooks API

Webhooks deliver Modelux events to your own infrastructure. Each endpoint
subscribes to one or more event types and is called asynchronously with
HMAC-signed payloads.

## List endpoints

```
GET /manage/v1/webhooks/endpoints
```

## Get an endpoint

```
GET /manage/v1/webhooks/endpoints/{endpoint_id}
```

## Create an endpoint

```
POST /manage/v1/webhooks/endpoints
```

**Request body**

```json
{
  "url": "https://your-app.example.com/hooks/modelux",
  "event_types": [
    "budget.threshold_reached",
    "routing_config.updated"
  ],
  "description": "Production webhook"
}
```

Returns the endpoint with a generated `signing_secret`. Shown once — save it
for verifying delivery signatures.

## Update an endpoint

```
PATCH /manage/v1/webhooks/endpoints/{endpoint_id}
```

Supports updating `url`, `event_types`, `description`, and `active` flag.

## Delete an endpoint

```
DELETE /manage/v1/webhooks/endpoints/{endpoint_id}
```

Soft-delete. In-flight deliveries still complete.

## Rotate signing secret

```
POST /manage/v1/webhooks/endpoints/{endpoint_id}/rotate-secret
```

Generates a new signing secret. Returned once in the response. The old
secret remains valid for 24 hours to allow graceful rollover in your
verifier.

## Send test event

```
POST /manage/v1/webhooks/endpoints/{endpoint_id}/test
```

**Request body**

```json
{
  "event_type": "budget.threshold_reached"
}
```

Sends a synthetic event to the endpoint for connectivity testing.

## List deliveries

```
GET /manage/v1/webhooks/deliveries
```

**Query parameters**

| Name | Type | Description |
|---|---|---|
| `endpoint_id` | string | Filter to one endpoint |
| `status` | enum | `pending`, `delivered`, `failed` |
| `event_type` | string | Filter by event type |
| `cursor` | string | Pagination |

## Get a delivery

```
GET /manage/v1/webhooks/deliveries/{delivery_id}
```

Returns the delivery payload, response status, response body, and attempt
history.

## Replay a delivery

```
POST /manage/v1/webhooks/deliveries/{delivery_id}/replay
```

Re-send the same payload. Useful after fixing an endpoint outage.

## List event types

```
GET /manage/v1/webhooks/event-types
```

Returns all event types with a short description. Useful for building
configuration UIs.

## MCP tools

| Tool | Maps to |
|---|---|
| `list_webhook_endpoints` | `GET /manage/v1/webhooks/endpoints` |
| `get_webhook_endpoint` | `GET /manage/v1/webhooks/endpoints/{id}` |
| `create_webhook_endpoint` | `POST /manage/v1/webhooks/endpoints` |
| `update_webhook_endpoint` | `PATCH /manage/v1/webhooks/endpoints/{id}` |
| `delete_webhook_endpoint` | `DELETE /manage/v1/webhooks/endpoints/{id}` |
| `rotate_webhook_secret` | `POST /manage/v1/webhooks/endpoints/{id}/rotate-secret` |
| `send_webhook_test` | `POST /manage/v1/webhooks/endpoints/{id}/test` |
| `list_webhook_deliveries` | `GET /manage/v1/webhooks/deliveries` |
| `get_webhook_delivery` | `GET /manage/v1/webhooks/deliveries/{id}` |
| `replay_webhook_delivery` | `POST /manage/v1/webhooks/deliveries/{id}/replay` |
| `list_webhook_event_types` | `GET /manage/v1/webhooks/event-types` |

## See also

- [Webhooks (concept)](/docs/concepts/webhooks)
