API reference · Webhooks
PUT/api/v1/webhooks/{id}
Product availabilityAlgaPSA

Update webhook

Updates a webhook by id. Body accepts the same fields as create, all optional.

RBAC · webhook

Path parameters

idstring <uuid>Required
Webhook UUID from webhooks.webhook_id.

Request body

Content type: application/json · schema CreateWebhookBodyV1

namestringRequired
min length 1
descriptionstring
urlstring <uri>Required
methodstring
Enum: GETPOSTPUTPATCHDELETE
event_typesarray of WebhookEventTypeV1Required
min items 1
itemsstring
Enum: ticket.createdticket.updatedticket.status_changedticket.assignedticket.closedticket.comment.addedproject.createdproject.updatedproject.completedproject.task.createdproject.task.updatedproject.task.completedclient.createdclient.updatedcontact.createdcontact.updatedtime.entry.createdtime.entry.updatedtime.entry.approvedinvoice.createdinvoice.finalizedinvoice.sentinvoice.paidasset.createdasset.updatedasset.maintenance.scheduledasset.maintenance.completedsystem.backup.completedsystem.backup.failedsystem.maintenance.startedsystem.maintenance.completedworkflow.execution.startedworkflow.execution.completedworkflow.execution.failedcustom.event
securityobject
payload_formatstring
Enum: jsonxmlform_datacustom
content_typestring
custom_headersobject
event_filterobject
payload_fieldsobjectNullable
Per-entity payload allowlist. null/{} = full payload everywhere. { ticket: null } = full ticket payload. { ticket: [] } = required-only. { ticket: [a,b] } = explicit allowlist plus required keys. Validated against WEBHOOK_PAYLOAD_FIELDS_BY_ENTITY in webhookSchemas.
payload_transformationobject
retry_configobject
is_activeboolean
is_test_modeboolean
verify_sslboolean
secret_tokenstring
rate_limitobject
metadataobject
tagsarray of string
itemsstring

Response body

Success response 200 · schema WebhookEnvelopeV1

dataobjectRequired
webhook_idstring <uuid>Required
tenantstring <uuid>Required
namestringRequired
descriptionstringRequiredNullable
urlstringRequired
methodstringRequired
Enum: GETPOSTPUTPATCHDELETE
event_typesarray of WebhookEventTypeV1Required
itemsstring
Enum: ticket.createdticket.updatedticket.status_changedticket.assignedticket.closedticket.comment.addedproject.createdproject.updatedproject.completedproject.task.createdproject.task.updatedproject.task.completedclient.createdclient.updatedcontact.createdcontact.updatedtime.entry.createdtime.entry.updatedtime.entry.approvedinvoice.createdinvoice.finalizedinvoice.sentinvoice.paidasset.createdasset.updatedasset.maintenance.scheduledasset.maintenance.completedsystem.backup.completedsystem.backup.failedsystem.maintenance.startedsystem.maintenance.completedworkflow.execution.startedworkflow.execution.completedworkflow.execution.failedcustom.event
securityobjectNullable
payload_formatstring
Enum: jsonxmlform_datacustom
content_typestring
custom_headersobjectRequiredNullable
event_filterobjectNullable
payload_fieldsobjectNullable
Per-entity payload allowlist. null/{} = full payload everywhere. { ticket: null } = full ticket payload. { ticket: [] } = required-only. { ticket: [a,b] } = explicit allowlist plus required keys. Validated against WEBHOOK_PAYLOAD_FIELDS_BY_ENTITY in webhookSchemas.
payload_transformationobjectNullable
retry_configobjectNullable
is_activebooleanRequired
is_test_modeboolean
verify_sslbooleanRequired
total_deliveriesintegerRequired
successful_deliveriesintegerRequired
failed_deliveriesintegerRequired
last_delivery_atstring <date-time>Nullable
last_success_atstring <date-time>Nullable
last_failure_atstring <date-time>Nullable
auto_disabled_atstring <date-time>Nullable
created_atstring <date-time>Required
updated_atstring <date-time>Required
tagsarray of string
itemsstring
metaobject

Response codes

200
Webhook updated.
400
Invalid request payload, query, or webhook id format.
401
API key missing/invalid or key user missing.
403
Webhook RBAC permission denied.
404
Webhook, delivery, template, or signing secret not found.
500
Unexpected webhook operation failure.