> ## 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.

# Endpoints

> Permanent capture URLs for your webhooks

An endpoint is a permanent, always-on URL that receives webhooks on your behalf. Once you create one, it never changes and never goes down — so webhook providers always have somewhere to send events, even when your own server isn't running.

## Your capture URL

Every endpoint has a unique `public_token`. Your capture URL is:

```
https://hookdrop.dev/in/{public_token}
```

Paste this URL into any webhook provider — Stripe, GitHub, Shopify, Paystack, or any service that sends HTTP requests. Every request that hits it is immediately captured and stored as an [event](/concepts/events).

## Endpoint fields

Each endpoint tracks the following:

| Field          | Description                                                 |
| -------------- | ----------------------------------------------------------- |
| `name`         | A label you set, such as "Stripe payments" or "GitHub CI"   |
| `public_token` | The unique token that forms your capture URL                |
| `is_active`    | Whether the endpoint is accepting incoming webhook requests |

You can update the name or toggle `is_active` at any time from the dashboard or the API.

## Multiple endpoints

You can create as many endpoints as you need. A common pattern is one endpoint per provider or use case:

<CardGroup cols={2}>
  <Card title="One per provider" icon="plug">
    Separate endpoints for Stripe, GitHub, and Shopify keep your events organized and easy to filter.
  </Card>

  <Card title="One per environment" icon="layers">
    Separate endpoints for production and staging let you test webhook flows without mixing live data.
  </Card>
</CardGroup>

## Creating an endpoint

```bash theme={null}
POST /api/endpoints
Authorization: Bearer TOKEN
Content-Type: application/json

{
  "name": "Stripe payments"
}
```

The response includes your `public_token`. Use it to build your capture URL:

```
https://hookdrop.dev/in/{public_token}
```

<Note>
  Your capture URL is ready to use immediately after the endpoint is created. There is no propagation delay.
</Note>

## API reference

See [Endpoints](/api-reference/endpoints) for the full list of operations: list, get, update, and delete.
