PUT
https://app.evoriqa.com/api/v1/webhooks/{feature}Create, update, or rotate a webhook endpoint
Wires the feature group's single endpoint. At least one of `url`, `active`, `rotateSecret: true` is required (422 with none); `url` is required on first create. The signing secret (`whsec_…`) is returned once on create or rotation and never again — it is stored encrypted at rest.
Requires scope workspace:write
Warning:
Access is gated — enable it before your first call
The API is off by default. A request succeeds only when all three switches are on: the platform master switch (off by default), your organisation’s API toggle, and your plan or client entitlement. Any one off returns 403 API access is not enabled for this workspace.
Parameters
| Name | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
| feature | path | string one of leads · conversations · messages · knowledge | Required | — | The feature group. Anything else returns 422. |
Request body
Content type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
| url | string uri | Optional | The delivery URL; required on first create. |
| active | boolean | Optional | Pause/resume deliveries for the group. |
| rotateSecret | boolean | Optional | Rotate the signing secret; the new secret is in the response, once. |
Request
curl
curl -X PUT "https://app.evoriqa.com/api/v1/webhooks/{feature}" \
-H "x-api-key: $EVORIQA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "url": "https://example.com/evoriqa-webhook" }'Node.js
const res = await fetch("https://app.evoriqa.com/api/v1/webhooks/{feature}", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.EVORIQA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"url": "https://example.com/evoriqa-webhook"
}),
});
const responseBody = await res.json();Python
import os
import requests
res = requests.put(
"https://app.evoriqa.com/api/v1/webhooks/{feature}",
headers={"Authorization": f"Bearer {os.environ['EVORIQA_API_KEY']}"},
json={
"url": "https://example.com/evoriqa-webhook"
},
)
body = res.json()Response
200 OK
{
"success": true,
"data": {
"feature": "leads",
"url": "https://example.com/evoriqa-webhook",
"active": true,
"secret": "whsec_9f2c…shown-once"
}
}