Skip to main content
PATCH

Overview

Partially updates a default webhook. Only the fields sent in the body are updated; the rest stay as they are.

Updating events

When you send the events field, the list replaces the existing events and must contain only channel events (a template event results in 422). An empty list results in 400: to keep the events, omit the field.

Disabling temporarily

To enable it again, send { "status": "ENABLED" }. A disabled webhook still counts toward the workspace limit of 5.

Format

payloadFormat accepts DEFAULT and Z_API. CHATWOOT results in 422.

HMAC signing

signing: true generates a new secret, returned only in this response; signing: false turns signing off. Without signing: true, the response has secret: null and the stored secret does not change.
signing: true generates a new secret every time, even when signing was already on and you only wanted to change another field. To keep the current secret, omit the signing field.
To validate the signature, see HMAC signing.
The URL is only checked when it changes. A new URL follows the same rules as creation: absolute, http or https, up to 2048 characters, with a host that resolves only to public addresses.

Authorizations

Authorization
string
header
required

Secret Key generated in the Omni Z-API Security panel

Path Parameters

webhookId
string
required

Default webhook ID

Example:

"5B7E3A90C2D14F6A8E1B2C3D4E5F6A7B"

Body

application/json

All fields are optional: only the fields you send are updated.

url
string

New destination URL. Only a URL different from the stored one is checked.

Example:

"https://new-url.yourcompany.com/webhooks/omni-zapi"

description
string

Optional webhook description

Example:

"Events from all channels"

events
enum<string>[]

New list of channel events. Replaces the whole list. To keep the events, omit the field.

Available options:
MESSAGE_RECEIVED,
MESSAGE_DELIVERY,
MESSAGE_STATUS,
RECEIVED_STATUS,
RECEIVED_AND_DELIVERY,
CONNECTED,
DISCONNECTED,
PRESENCE_CHAT,
INITIAL_DATA,
BLOCK
Example:
status
enum<string>

DISABLED pauses the webhook without deleting it; ENABLED enables it again

Available options:
ENABLED,
DISABLED
signing
boolean

true generates a new secret (returned only in this response), even if signing was already on. false turns signing off. Omit it to keep things as they are.

authType
enum<string>

Authentication type (flat form). Alternative to the auth object.

Available options:
NONE,
BEARER,
API_KEY,
BASIC,
CUSTOM_HEADER
token
string

Credential for BEARER (flat form)

key
string

Credential for API_KEY (flat form)

auth
object

How Omni Z-API authenticates when calling your URL

payloadFormat
enum<string>

DEFAULT or Z_API. CHATWOOT is rejected with 422. Omit it to keep the current format.

Available options:
DEFAULT,
Z_API
customAttributes
object

Free map of extra attributes

Response

Default webhook updated. secret is null, except when the request has signing: true.

id
string

Default webhook ID

Example:

"5B7E3A90C2D14F6A8E1B2C3D4E5F6A7B"

channelId
string | null

Always null: the default webhook does not belong to a channel

Example:

null

instanceId
string | null
deprecated

Always null. Legacy field, kept for compatibility

Example:

null

url
string
Example:

"https://app.yourcompany.com/webhooks/omni-zapi"

description
string | null
Example:

"Events from all channels"

events
enum<string>[]
Available options:
MESSAGE_RECEIVED,
MESSAGE_DELIVERY,
MESSAGE_STATUS,
RECEIVED_STATUS,
RECEIVED_AND_DELIVERY,
CONNECTED,
DISCONNECTED,
PRESENCE_CHAT,
INITIAL_DATA,
BLOCK
status
enum<string>

ENABLED or DISABLED

Available options:
ENABLED,
DISABLED
signing
boolean

true when HMAC signing is on

secret
string | null

HMAC signing secret. Filled only in the response that generated it (signing: true); null otherwise.

auth
object

Summary of the configured authentication. Credentials are not returned.

payloadFormat
enum<string>
Available options:
DEFAULT,
Z_API
customAttributes
object
createdAt
string<date-time>

Creation date

updatedAt
string<date-time>

Last update date