Workspace · Webhooks

Update webhook

Updates a webhook.

PUThttps://api.pozy.ai/v1/webhooks/settings
updateWebhookSettings

Guides: Set up webhooks, Verify signatures, Retries and delivery logs

Request

Send your API key as Authorization: Bearer pz_live_.... Read-only keys cannot call it. Keys with the webhooks resource group disabled get 403 resource_group_disabled. Authentication

Request body

application/json, required

  • webhookIdstring
  • _idstringdeprecated
  • namestring

    1 to 50 characters.

  • urlstring (URL)
  • secretstring
  • eventsarray of string

    At least 1 item. Each item: one of post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, post.platform.published, post.platform.failed, post.platform.deleted, post.tiktok.url_resolved, post.external.created, post.external.updated, post.external.deleted, account.connected, account.disconnected, account.permissions_changed, account.ads.initial_sync_completed, account.ads.sync_failed, account.ads.sync_recovered, analytics.synced, post.tracking_completed, post.authenticity_changed, message.received, conversation.started and 83 more.

  • isActiveboolean
  • customHeadersmap of string
  • disabledResourceGroupsarray of string

    Each item: one of publishing, engagement, messages, contacts, analytics, ads, telephony, accounts, billing, webhooks, commerce, creator_campaigns, money, calendar, files.

  • profileIdsarray of string

    Up to 50 items.

  • accountIdsarray of string

    Up to 50 items.

Example

curl -X PUT "https://api.pozy.ai/v1/webhooks/settings" \
  -H "Authorization: Bearer $POZY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "webhookId": "6dac06b11de029319072e830",
  "_id": "635d87e261ae344ef27fd1df",
  "name": "Acme",
  "url": "https://pozy.ai/media/example-1.jpg"
}'

Response

200 on success

  • successboolean
  • webhookobject
    12 child fields
    • _idstring
    • namestring

      Up to 50 characters.

    • urlstring (URL)
    • secretstring
    • eventsarray of string

      Each item: one of post.scheduled, post.published, post.failed, post.partial, post.cancelled, post.recycled, post.platform.published, post.platform.failed, post.platform.deleted, post.tiktok.url_resolved, post.external.created, post.external.updated, post.external.deleted, account.connected, account.disconnected, account.permissions_changed, account.ads.initial_sync_completed, account.ads.sync_failed, account.ads.sync_recovered, analytics.synced, post.tracking_completed, post.authenticity_changed, message.received, conversation.started and 93 more.

    • isActiveboolean
    • lastFiredAtstring (date-time)
    • failureCountinteger
    • customHeadersmap of string
    • disabledResourceGroupsarray of string

      Each item: one of publishing, engagement, messages, contacts, analytics, ads, telephony, accounts, billing, webhooks, commerce, creator_campaigns, money, calendar, files.

    • profileIdsarray of string
    • accountIdsarray of string
200 response
{
  "success": true,
  "webhook": {
    "_id": "635d87e261ae344ef27fd1df",
    "name": "Acme",
    "url": "https://pozy.ai/media/example-1.jpg",
    "secret": "string",
    "events": [
      "post.scheduled"
    ],
    "isActive": true,
    "lastFiredAt": "2026-10-02T09:00:00.000Z",
    "failureCount": 42,
    "customHeaders": {
      "key": "string"
    },
    "disabledResourceGroups": [
      "publishing"
    ],
    "profileIds": [
      "string"
    ],
    "accountIds": [
      "string"
    ]
  }
}

Errors

Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:

400invalid_request_errorA parameter or body field is missing or invalid. param names it.
401authentication_errorThe API key is missing, revoked or expired.
403permission_errorThe key is read-only, scoped to other profiles, or has this resource group disabled.
429rate_limit_errorToo many requests this minute. Wait for Retry-After seconds.

Every code is listed in Errors.

More in Webhooks