---
title: "Create Webhook"
method: POST
path: "/api/v1/webhooks"
tags: ["webhooks"]
---

# Create Webhook

`POST /api/v1/webhooks`

## Request

- Base URL: `https://api.trueight.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.trueight.com/api/v1/webhooks`
- Auth: none declared

Register a webhook URL. The signing secret is returned once — store it
to verify `X-Tru8-Signature` headers on incoming payloads.

## Request body

- CreateWebhookRequest
  - `url` string, required: HTTPS URL to receive events
  - `events` string[], required: Events to subscribe to
  - `description` string, nullable: Label for this webhook

## Response `201`

Successful Response

- WebhookCreatedResponse: Returned once at creation. The signing `secret` is shown once — store it to verify payloads.
  - `id` string, required: Webhook database ID
  - `url` string, required: HTTPS URL that will receive events
  - `events` string[], required: Events this webhook is subscribed to (e.g. check.completed, check.failed)
  - `secret` string, required: HMAC signing secret (shown once). Use to verify X-Tru8-Signature headers on incoming payloads.
  - `description` string, nullable: Webhook label
  - `created_at` string, date-time, required: Creation timestamp

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/trueight/apis/tru8-evidence-research-api.md) · [All operations](https://skmtc.dev/trueight/apis/tru8-evidence-research-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trueight/apis/tru8-evidence-research-api/revisions/5684065fa01a?raw)
