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

# Register a webhook

`POST /v1/webhooks`

## Request

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

Register an HTTPS endpoint to receive signed POSTs when matching alpha signals are emitted. Defaults: events=["alpha_signals"], min_impact="MEDIUM". Outbound payloads are HMAC-SHA256 signed with the per-webhook secret returned at creation; verify the `X-MarketIntell-Signature` header server-side. Pro tier or higher required.

## Request body

- object
  - `url` string, uri, required: HTTPS webhook URL
  - `events` string[]
  - `min_impact` 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'

## Response `201`

Webhook created. The `secret` is returned exactly once — store it now or rotate.

- object
  - `id` string, required
  - `url` string, uri, required
  - `events` string[], required
  - `secret` string, required: HMAC-SHA256 signing secret (shown once)
  - `min_impact` 'LOW' | 'MEDIUM' | 'HIGH' | 'CRITICAL'
  - `created_at` string, date-time

## Other responses

- `400`: Invalid URL or parameters

---

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