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

# Register a webhook endpoint

`POST /v1/webhooks`

## Request

- Base URL: `https://api.honkio.ca`
- URL: `https://api.honkio.ca/v1/webhooks`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Requires `webhooks:w`.

## Request body

- object
  - `url` string, uri, required: HTTPS URL to deliver events to. It must answer 2xx directly: deliveries never follow a redirect, so a 3xx is recorded as a failed attempt.
  - `events` string[], required

## Response `201`

The endpoint. signing_secret is shown only here: store it to verify X-HonkIO-Signature.

- object: The endpoint. signing_secret is shown only here: store it to verify X-HonkIO-Signature.
  - `id` string, required
  - `url` string, required
  - `events` string[], required
  - `signing_secret` string, required: 64 hex characters.
  - `active` boolean, required
  - `created_at` string, date-time, required
  - `notice` string, required

## Other responses

- `401`: Missing, invalid, revoked or expired API key.
- `402`: The account has no balance, or a LIVE key was used before the first top-up.
- `403`: LIVE_KEY_REQUIRED: test keys cannot reach live resources here. Also FORBIDDEN when the key lacks the permission this operation requires, or the account is suspended or closed.
- `422`: VALIDATION_ERROR (not a public HTTPS URL, an unknown event, or an email event while email is off) or WEBHOOK_LIMIT_REACHED (10 endpoints per account).
- `429`: Rate limit reached: 100 requests per second per account, or a route-specific limit (Retry-After set where one applies).
- `500`: Unexpected server error.

---

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