---
title: "Register an endpoint"
method: POST
path: "/api/v1/webhooks"
tags: ["Webhooks"]
---

# Register an endpoint

`POST /api/v1/webhooks`

## Request

- Base URL: `https://hproxy.com`
- URL: `https://hproxy.com/api/v1/webhooks`
- Auth: API key in header `X-API-Key`

Register an **https** URL for event pushes. The response carries your signing `secret` **once**. Store it now, it is never shown again. `events` defaults to everything; up to 10 active endpoints per account. Private/internal hosts are refused at registration.

## Request body

- object
  - `url` string, required: HTTPS endpoint to receive signed event POSTs.
  - `events` unknown[]: Subset of: order.fulfilled, order.failed, order.refunded, subscription.canceled, subscription.expired, plan.low_traffic, announcement.published. Omitted = all.
    - unknown

## Response `200`

Success

- object

## Other responses

- `400`: Invalid input. The body names the field and the accepted set.
- `401`: Missing or invalid API key.
- `429`: Rate limited. Retry after the delay in the response.

---

[API](https://skmtc.dev/hproxy/apis/hproxy-api.md) · [All operations](https://skmtc.dev/hproxy/apis/hproxy-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hproxy/apis/hproxy-api/revisions/9f6898fe76e2?raw)
