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

# Set Up Webhooks

> Get notified on your own server when a project completes, fails, or expires, and manage, pause, and debug your webhooks.

> **For AI agents:** a documentation index is at [/llms.txt](/llms.txt). Every page is also available as markdown, just append `.md` to the URL.

## Overview

A webhook sends a message to a URL you choose whenever one of your video projects **completes**, **fails**, or **expires**. Developers use webhooks so their systems react straight away instead of repeatedly checking Reap. For the payload format and code examples, see the [Webhooks API reference](/api-reference/webhooks).

<video controls playsInline width="100%" poster="/images/help-center/webhooks-poster.jpg" src="https://mintcdn.com/reap/KDevp7fQ_nNnw83g/images/help-center/webhooks.mp4?fit=max&auto=format&n=KDevp7fQ_nNnw83g&q=85&s=b2581877686d339507c97e103ce04369" title="Add a webhook in Reap" data-path="images/help-center/webhooks.mp4" />

## Open Webhooks

Click your avatar in the top right, choose **Settings**, and open **Webhooks**. The counter at the top shows how many active webhooks you're using and how many your plan allows, for example **0/5 active webhooks used**.

## Create A Webhook

<Steps>
  <Step title="Click Add Webhook">
    The **Create a Webhook** form opens.
  </Step>

  <Step title="Name it">
    Give the webhook a **Name**, for example `Production Webhook`.
  </Step>

  <Step title="Enter your endpoint">
    Enter the **Webhook URL**. It must start with `https://`.
  </Step>

  <Step title="Click Create Webhook">
    Reap sends a test request to your endpoint. Testing can take up to 5 seconds. You'll see **Webhook created successfully** when it passes.
  </Step>
</Steps>

<Note>
  Your endpoint must reply with **HTTP 200** and an **empty body**. Any other response is treated as a failure.
</Note>

## Manage Your Webhooks

Each webhook shows its **Name**, **URL**, and **Status**:

| Status | What it means |
| - | - |
| **Active** | The webhook is on and receiving notifications. |
| **Paused** | You switched the webhook off. |
| **Failed** | Reap disabled the webhook after repeated delivery failures. The reason is shown under the status. |

If deliveries are failing, the number of consecutive failures appears next to the name.

Use the actions on each row:

* **On/off switch**: pause or resume the webhook. Turning it back on sends a test request.
* **View history**: opens **Dispatch History** with the **Time**, **Project**, **Trigger**, **Status**, and **Response** of each delivery.
* **Edit**: change the name or URL.
* **Delete**: removes the webhook after you confirm.

## When A Webhook Gets Disabled

After **5 consecutive failed deliveries**, Reap disables the webhook automatically and emails you. A successful delivery resets the count.

To fix it:

1. Check **View history** to see the responses your endpoint returned.
2. Fix your endpoint so it returns HTTP 200 with an empty body.
3. Switch the webhook back on.

## What To Know

* Every active webhook receives notifications for **every** project in the studio. You can't limit a webhook to certain project types.
* To fetch a project's results after a notification, use the API with an API key. See [Create And Manage API Keys](/help-center/create-and-manage-api-keys).

## Related

* [Webhooks (API reference)](/api-reference/webhooks)
* [Create And Manage API Keys](/help-center/create-and-manage-api-keys)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.