curl --request PATCH \
--url https://api.pomerado.ai/v1/webhooks/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>",
"events": []
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: '<string>', events: []})
};
fetch('https://api.pomerado.ai/v1/webhooks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pomerado.ai/v1/webhooks/{id}"
payload = {
"url": "<string>",
"events": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "wh_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190",
"created_by": {
"user_id": "<string>",
"email": "<string>"
},
"url": "<string>",
"events": [
"job.needs_input"
],
"status": "active",
"disabled_reason": "manual",
"created_at": "<string>",
"last_delivery_at": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}Update a webhook
Change a webhook’s URL or events, or turn it off or on.
curl --request PATCH \
--url https://api.pomerado.ai/v1/webhooks/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"url": "<string>",
"events": []
}
'const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({url: '<string>', events: []})
};
fetch('https://api.pomerado.ai/v1/webhooks/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.pomerado.ai/v1/webhooks/{id}"
payload = {
"url": "<string>",
"events": []
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "wh_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190",
"created_by": {
"user_id": "<string>",
"email": "<string>"
},
"url": "<string>",
"events": [
"job.needs_input"
],
"status": "active",
"disabled_reason": "manual",
"created_at": "<string>",
"last_delivery_at": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"retryable": true,
"docs_url": "<string>",
"details": {}
}
}Details
Details
- Only its creator can change it; another member’s is forbidden.
- A webhook turns itself off when its receiver answers 410 or fails 20 deliveries in a row. Setting status to active turns it back on and clears its failures.
- Callers: an API key, an MCP OAuth token or a Dashboard session.
-
Permission:
jobs:read. - Effect: Creates or changes something.
-
Errors:
not_found,webhooks_unavailable, and the errors any request can get.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
a webhook ID: wh_ and 32 lowercase hex digits
"wh_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190"
Body
an array of at least 1 item(s)
1job.needs_input, job.input_expiring, job.succeeded, job.failed, job.repairing active turns a disabled webhook on again and clears its failures; disabled turns it off
active, disabled Response
The changed webhook
a webhook ID: wh_ and 32 lowercase hex digits
"wh_0f8e2d1c4b3a49e8a7f6e5d4c3b2a190"
The member who made the webhook. Only they can change, test or rotate it, and it carries events for the jobs they can see
Show child attributes
Show child attributes
job.needs_input, job.input_expiring, job.succeeded, job.failed, job.repairing active, disabled Why a disabled webhook sends nothing: manual (turned off), gone (its receiver answered 410), unreachable (20 failed deliveries in a row) or secret_unreadable (rotate its secret)
manual, gone, unreachable, secret_unreadable a string to be decoded into a Date
a string to be decoded into a Date