> ## Documentation Index
> Fetch the complete documentation index at: https://bobprince-78964c2b.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Destinations API

> Manage forwarding destinations for your capture endpoints

A destination is a URL that Hookdrop forwards captured webhook events to. When a new event arrives at your capture URL, Hookdrop automatically delivers it to every destination configured for that endpoint.

If a delivery fails, Hookdrop retries with **exponential backoff**. Each delivery attempt has a **10-second timeout**.

***

## List destinations

`GET /api/endpoints/:id/destinations`

Returns all forwarding destinations configured for an endpoint.

<ParamField path="id" type="string" required>
  The endpoint ID.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl https://hookdrop.dev/api/endpoints/ep_01hx9k2z3mq8p4j6n7r5st0vwu/destinations \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```
</CodeGroup>

**Response**

<ResponseField name="id" type="string">
  Unique identifier for the destination.
</ResponseField>

<ResponseField name="url" type="string">
  The URL events are forwarded to.
</ResponseField>

<ResponseField name="secret" type="string">
  Optional signing secret. When set, Hookdrop signs each forwarded request so your server can verify it came from Hookdrop.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp of when the destination was added.
</ResponseField>

```json theme={null}
[
  {
    "id": "dst_01hx9m3z4nr9q5k7o8s6tu1wxv",
    "url": "https://your-server.com/webhooks",
    "secret": "whsec_••••••••••••••••",
    "created_at": "2024-05-12T11:00:00.000Z"
  }
]
```

***

## Add a destination

`POST /api/endpoints/:id/destinations`

Adds a forwarding destination to an endpoint. Events captured after this point are forwarded to the new URL automatically.

<ParamField path="id" type="string" required>
  The endpoint ID.
</ParamField>

<ParamField body="url" type="string" required>
  The URL to forward events to. Must be publicly reachable over HTTPS.
</ParamField>

<ParamField body="secret" type="string">
  Optional signing secret. Hookdrop uses this to sign forwarded requests so your server can verify their authenticity.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://hookdrop.dev/api/endpoints/ep_01hx9k2z3mq8p4j6n7r5st0vwu/destinations \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "url": "https://your-server.com/webhooks",
      "secret": "optional-signing-secret"
    }'
  ```
</CodeGroup>

**Response**

```json theme={null}
{
  "id": "dst_01hx9m3z4nr9q5k7o8s6tu1wxv",
  "url": "https://your-server.com/webhooks",
  "secret": "whsec_••••••••••••••••",
  "created_at": "2024-05-12T11:00:00.000Z"
}
```

<Note>
  Hookdrop retries failed deliveries with exponential backoff. Each attempt times out after 10 seconds. You can inspect delivery attempts for any event using the [Events API](/api-reference/events).
</Note>

***

## Remove a destination

`DELETE /api/endpoints/:id/destinations/:destinationId`

Removes a forwarding destination from an endpoint. Events already in flight are not affected, but no new events will be forwarded to this URL.

<ParamField path="id" type="string" required>
  The endpoint ID.
</ParamField>

<ParamField path="destinationId" type="string" required>
  The destination ID to remove.
</ParamField>

<CodeGroup>
  ```bash cURL theme={null}
  curl -X DELETE https://hookdrop.dev/api/endpoints/ep_01hx9k2z3mq8p4j6n7r5st0vwu/destinations/dst_01hx9m3z4nr9q5k7o8s6tu1wxv \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
  ```
</CodeGroup>

**Response**

Returns `204 No Content` on success.
