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

# Register a webhook

`POST /webhooks`

## Request

- Base URL: `https://api.emailchaser.com/r`
- URL: `https://api.emailchaser.com/r/webhooks`
- Auth: HTTP bearer

Registers a webhook endpoint that will be called when the given event type occurs (e.g. LeadCreated, CampaignStatusChanged, EmailReply). The URL must use HTTPS. A signing secret is created for the webhook, but the API does not return it. Copy it in the app under Settings, Integrations & API, on the Webhooks tab, where you can also rotate it.

## Request body

- ModelsRegisterWebhookRequest
  - `name` string
  - `type` string, required
  - `url` string, required

## Response `201`

Webhook registered successfully

- ModelsRegisterWebhookResponse
  - `message` string
  - `webhook` ModelsWebhookResponse
    - `createdAt` string
    - `id` integer
    - `isEnabled` boolean
    - `name` string
    - `status` string
    - `type` string
    - `url` string

## Other responses

- `400`: Invalid request body, webhook type or URL
- `401`: Unauthorized - invalid or missing API key
- `500`: Failed to register webhook

---

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