Skip to contentDevelopersPrezly website
Webhooks

Create Newsroom Webhook

Register an event receiver, initially inactive for controlled setup.

Personal tokens are not supported for this endpoint. Use an integration API key. Your account must also have access to the requested data. Authentication

Requires account-level webhook management access; newsroom integration credentials are unsupported. Delivery puts the optional secret in JSON, not a signature header. Confidential-story changes can be silent; reconcile cached publications.

Read the guide

POST
/newsrooms/{newsroom_id}/webhooks

Callbacks POST JSON with action and event resource data. When configured, secret is included as a JSON body property; there is no HMAC signature header. Delivery is queued; no retry schedule, ordering or exactly-once delivery guarantee is provided by this contract. Supplied events replaces the full event list. Webhook management requires an account integration credential; personal tokens and newsroom integration credentials are not supported.

Defaults: active true, events empty, secret null, request_options empty. Omit secret for no secret; an explicitly null creation secret is rejected. Set is_active:false while preparing the receiver.

Personal access tokens are not supported for this endpoint. Use an integration API key with the required permissions.

Story creation and update notifications are suppressed when the resulting story is confidential. A public → confidential transition can therefore produce no story.updated notification. story.deleted notifications are still sent. Consumers publishing cached copies must reconcile current publication status and visibility; webhooks alone cannot reliably withdraw confidential content.

Authorization

API_key
headerAuthorizationBearer <token>

Bearer authentication using an integration API key, or a personal access token only where the operation explicitly supports it. Every listed personal-token scope is required; owner permissions and newsroom access still apply.

Path Parameters

newsroom_id*string

Newsroom UUID or ID

Length1 <= length

Request Body

application/json
  1. body
name*string
Length1 <= length <= 255
url*string
events?array<>
Default[]
secret?string
Length1 <= length <= 300
is_active?boolean
Defaulttrue
request_options?

HTTP client options used for callback delivery. Default timeout is 10 seconds; the object replaces stored options.

Response Body

Created

application/json
  1. response
webhook?
Example Request
curl -X POST 'https://api.prezly.com/v2/newsrooms/string/webhooks' \  -H 'Content-Type: application/json' \  -d '{  "name": "string",  "url": "string"}'
Example Response201
{  "webhook": {    "id": "string",    "name": "string",    "url": "string",    "events": [      "story.created"    ],    "secret": "string",    "is_active": true,    "request_options": {}  }}