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

# Create a webhook configuration

`POST /webhooks`

Requires an owner/admin browser session with recent MFA. Tenant API keys and agent tokens cannot manage webhook configuration or delivery controls. Returns the webhook signing secret exactly once in the create response.

## Headers

- `X-Steward-Request-Timestamp` string
- `X-Steward-Request-Expires-At` string
- `X-Steward-Signature` string
- `X-Steward-Signing-Key-Id` string
- `Idempotency-Key` string

## Request body

- object
  - `url` string, uri, required
  - `events` string[]
  - `enabled` boolean
  - `description` string
  - `maxRetries` integer
  - `retryBackoffMs` integer

## Response `201`

JSON response

- object
  - `ok` true, required
  - `data` object, required
    - `id` string, required
    - `tenantId` string, required
    - `url` string, uri, required
    - `events` string[], required
    - `enabled` boolean, required
    - `maxRetries` integer, required
    - `retryBackoffMs` integer, required
    - `description` string, nullable
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time
    - `secret` string, required — One-time webhook signing secret. Returned only from create responses.

## Other responses

- `400` — JSON response
- `401` — JSON response
- `403` — JSON response
- `404` — JSON response
- `408` — JSON response
- `409` — JSON response

## Changes

- **2026-08-17** `261a7c8070b2` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/steward-fi/apis/steward-api/changes/webhooks/post.md)

---

[API](https://skmtc.dev/steward-fi/apis/steward-api.md) · [All operations](https://skmtc.dev/steward-fi/apis/steward-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/steward-fi/steward-api/revisions/b88b4b97a664/schema)
