Update a Webhook

PUT/api/webhooks/{id}

Partial update: only the fields present in the request are written, everything else keeps its current value. The same validation as create applies, including the SSRF check on a new URL.

The signing secret cannot be set by the caller. Send rotate_secret as true to have the server mint a new one; the replacement is returned in this response and, like the original, in no other response ever. A rotation invalidates the previous secret immediately, so update your receiver first or let it accept both for a short window.

Headers

FieldTypeDescription
authtoken String Authentication token, generated from admin area

Parameters

FieldTypeDescription
id Number Webhook unique ID
name String optional Optional Human readable name
url String optional Optional New target URL, validated exactly as sent and re-checked against the SSRF policy
events String[] optional Optional Replacement subscription list, array or comma separated string
headers Object optional Optional Replacement custom headers. Send an empty object or null to clear them
active Number optional Optional 1 to enable, 0 to disable
timeout Number optional Optional Per attempt timeout in seconds, 1 to 30
retry_count Number optional Optional Extra attempts after a failed one, 0 to 3
rotate_secret Boolean optional Optional Mint a new signing secret and return it once
curl -X PUT "https://yoursite.com/api/webhooks/123" \
  -H "authtoken: YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "field": "value" }'

Success-Response:

HTTP/1.1 200 OK
{
  "status": 200,
  "messages": { "success": "Record saved" },
  "data": {
    "id": 3,
    "name": "Ops sync",
    "url": "https://hooks.example.com/rise",
    "events": ["invoices.created", "invoices.updated"],
    "active": 1,
    "timeout": 15,
    "has_secret": true
  }
}

Secret-Rotated:

HTTP/1.1 200 OK
{
  "status": 200,
  "messages": { "success": "Record saved" },
  "secret": "whsec_8b2100000000000000000000000000000000000000000000000000000000edf4",
  "secret_notice": "Store this secret now. It is shown once and cannot be retrieved again.",
  "signature_header": "X-Rise-Signature",
  "data": { "id": 3, "has_secret": true }
}

Not-Found:

HTTP/1.1 404 Not Found
{ "status": false, "messages": { "error": "No data were found" } }

Nothing-To-Update:

HTTP/1.1 400 Bad Request
{ "status": false, "messages": { "error": "No updatable field was provided." } }
MethodPUT
Path/api/webhooks/{id}
GroupWebhooks
Sincev1.0.0
Defined inRestApi/Controllers/WebhooksController.php