---
title: "Kick Webhook Endpoint"
method: POST
path: "/webhook/kick"
---

# Kick Webhook Endpoint

`POST /webhook/kick`

## Request

- Base URL: `https://sleipnir.tv` (the document declares no server; this is the origin it was published from)
- URL: `https://sleipnir.tv/webhook/kick`
- Auth: none declared

Receives Kick event webhooks (chat.message.sent, etc.).

Verify-and-acknowledge only: the RSA signature is verified against
Kick's public key, a valid event returns 200, an invalid one 401.
No database write happens here - the message-writer is a separate
later patch.

The raw body MUST be read before any parsing - the signature is
computed over the exact raw bytes.

## Headers

- `Kick-Event-Message-Id` string, nullable
- `Kick-Event-Message-Timestamp` string, nullable
- `Kick-Event-Signature` string, nullable
- `Kick-Event-Type` string, nullable
- `Kick-Event-Subscription-Id` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/sleipnir/apis/relay-control-plane.md) · [All operations](https://skmtc.dev/sleipnir/apis/relay-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/sleipnir/apis/relay-control-plane/revisions/79829f6945a4?raw)
