# Campaign finished

Source: https://docs.emelia.io/docs/webhooks/campaign-finished

Guide: [Webhooks](https://docs.emelia.io/docs/webhooks.md)

Webhook event `campaignEnding`: Emelia sends an HTTP POST request to your URL.

Sent once to URLs whose events include `CAMPAIGN_ENDING`, when a campaign is closed automatically by the daily job (04:00 server time). In the current code it is only delivered for advanced campaigns that are not `alwaysOn`; the email and LinkedIn variants are accepted at registration but never sent. Marking a campaign as finished by hand (app or API) does not trigger it, nor does archiving. Single attempt, errors ignored.

## Payload

| Field | Type | Required | Description |
|---|---|---|---|
| `date` | string (date-time) | yes | Time of the automatic closing (daily job at 04:00 server time). |
| `campaign` | string | yes | Campaign name. |
| `id` | string | yes | Campaign ID. |

**ending**

```json
{
  "date": "2026-10-20T04:00:12.000Z",
  "campaign": "Acme Q4 multichannel",
  "id": "6651f0c2a1b2c3d4e5f60718"
}
```
