---
title: "Create a new webhook for receiving Streamplace events."
method: POST
path: "/xrpc/place.stream.server.createWebhook"
tags: ["place.stream.server"]
---

# Create a new webhook for receiving Streamplace events.

`POST /xrpc/place.stream.server.createWebhook`

## Request body

- object
  - `url` string, uri, required — The webhook URL where events will be sent.
  - `events` string[], required — The types of events this webhook should receive.
  - `active` boolean — Whether this webhook should be active upon creation.
  - `prefix` string — Text to prepend to webhook messages.
  - `suffix` string — Text to append to webhook messages.
  - `rewrite` PlaceStreamServerDefsRewriteRule[] — Text replacement rules for webhook messages.
    - `from` string, required — Text to search for and replace.
    - `to` string, required — Text to replace with.
  - `name` string — A user-friendly name for this webhook.
  - `description` string — A description of what this webhook is used for.
  - `muteWords` string[] — Words to filter out from chat messages. Messages containing any of these words will not be forwarded.

## Response `200`

Success

- object
  - `webhook` PlaceStreamServerDefsWebhook, required — A webhook configuration for receiving Streamplace events.
    - `id` string, required — Unique identifier for this webhook.
    - `url` string, uri, required — The webhook URL where events will be sent.
    - `events` string[], required — The types of events this webhook should receive.
    - `active` boolean, required — Whether this webhook is currently active.
    - `prefix` string — Text to prepend to webhook messages.
    - `suffix` string — Text to append to webhook messages.
    - `rewrite` PlaceStreamServerDefsRewriteRule[] — Text replacement rules for webhook messages.
      - `from` string, required — Text to search for and replace.
      - `to` string, required — Text to replace with.
    - `createdAt` string, date-time, required — When this webhook was created.
    - `updatedAt` string, date-time — When this webhook was last updated.
    - `name` string — A user-friendly name for this webhook.
    - `description` string — A description of what this webhook is used for.
    - `lastTriggered` string, date-time — When this webhook was last triggered.
    - `errorCount` integer — Number of consecutive errors for this webhook.
    - `muteWords` string[] — Words to filter out from chat messages. Messages containing any of these words will not be forwarded.

## Other responses

- `400` — Bad Request

## Changes

> 52 revisions in range; 3 could not be searched.

- **2026-07-10** `0eb3e511bec2` — 1 warning, 1 info
  - added the new `stream.received` enum value to the `webhook/events/items/` response property for the response status `200`
  - added the new `stream.received` enum value to the request property `events/items/`
- **2026-04-20** `3353f5f6354a` — 4 breaking, 14 info
  - added the new required request property `rewrite/items/from`
  - added the new required request property `rewrite/items/to`
  - the `rewrite/items/` request property type/format changed from ``/`` to `object`/``
  - the `webhook` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - …14 more
- **2026-01-21** `b21cd7605630` — 1 breaking, 1 info
  - removed the enum value `stream.received` of the request property `events/items/`
  - removed the `stream.received` enum value from the `webhook/events/items/` response property for the response status `200`

[Change history](https://skmtc.dev/streamplace/apis/generated-lexicon-api-schema/changes/xrpc/place.stream.server.createWebhook/post.md)

---

[API](https://skmtc.dev/streamplace/apis/generated-lexicon-api-schema.md) · [All operations](https://skmtc.dev/streamplace/apis/generated-lexicon-api-schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/streamplace/generated-lexicon-api-schema/revisions/8e2ce7f5d85b/schema)
