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

# Destinations API

> Manage forwarding destinations for your endpoints

A destination is a URL that Hookdrop forwards captured webhook events to. When an event arrives at your endpoint, Hookdrop enqueues a delivery to every active destination automatically. If a delivery fails, Hookdrop retries with exponential backoff.

***

## List destinations

Returns all destinations configured for an endpoint.

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

**Path parameters**

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

**Response**

```json theme={null}
{
  "destinations": [
    {
      "id": "d1e2f3a4-b5c6-7890-abcd-ef1234567890",
      "endpoint_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "url": "https://your-server.com/webhooks",
      "secret": "whsec_abc123",
      "is_active": true,
      "created_at": "2026-04-01T11:00:00.000Z"
    }
  ]
}
```

<ResponseField name="destinations" type="array" required>
  List of destination objects.

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

    <ResponseField name="endpoint_id" type="string">
      ID of the parent endpoint.
    </ResponseField>

    <ResponseField name="url" type="string">
      The URL Hookdrop forwards events to.
    </ResponseField>

    <ResponseField name="secret" type="string">
      The signing secret used to generate the HMAC signature on forwarded requests. `null` if not set.
    </ResponseField>

    <ResponseField name="is_active" type="boolean">
      Whether this destination is currently receiving forwarded events.
    </ResponseField>

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

***

## Add a destination

Adds a new forwarding URL to an endpoint. From this point on, all incoming events will be forwarded to the new destination (as well as any existing ones).

Events are forwarded automatically with exponential backoff retries on failure.

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

**Path parameters**

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

**Request body**

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

<ParamField body="secret" type="string">
  An optional signing secret. When set, Hookdrop includes an HMAC-SHA256 signature on each forwarded request so your server can verify the payload.
</ParamField>

**Response**

```json theme={null}
{
  "destination": {
    "id": "d1e2f3a4-b5c6-7890-abcd-ef1234567890",
    "endpoint_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "url": "https://your-server.com/webhooks",
    "secret": "whsec_abc123",
    "is_active": true,
    "created_at": "2026-04-01T11:00:00.000Z"
  }
}
```

***

## Remove a destination

Removes a destination. Future events will no longer be forwarded to that URL. This does not affect events that have already been delivered or are currently in-flight.

```bash theme={null}
curl -X DELETE https://hookdrop.dev/api/endpoints/ENDPOINT_ID/destinations/DESTINATION_ID \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

**Path parameters**

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

<ParamField path="dId" type="string" required>
  The destination ID.
</ParamField>

**Response**

```json theme={null}
{
  "ok": true
}
```
