List tenant webhooks
curl --request GET \
--url https://dashboard.ondial.ai/api/v1/webhooks \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dashboard.ondial.ai/api/v1/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dashboard.ondial.ai/api/v1/webhooks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"webhooks": [
{}
],
"catalog": [
{}
]
}{
"error": "Invalid or inactive API key",
"reasonCode": "unauthorized"
}{
"error": "Insufficient scope",
"reasonCode": "forbidden",
"missing": [
"calls:read"
]
}Manage webhooks
Register HTTPS tenant webhooks via API key (webhooks:write).
GET
/
api
/
v1
/
webhooks
List tenant webhooks
curl --request GET \
--url https://dashboard.ondial.ai/api/v1/webhooks \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dashboard.ondial.ai/api/v1/webhooks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dashboard.ondial.ai/api/v1/webhooks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"webhooks": [
{}
],
"catalog": [
{}
]
}{
"error": "Invalid or inactive API key",
"reasonCode": "unauthorized"
}{
"error": "Insufficient scope",
"reasonCode": "forbidden",
"missing": [
"calls:read"
]
}Requires
webhooks:write.
GET— list hooks + event catalogPOST— create (url,eventTypes) oraction=test/action=rotate_secretPATCH— updateDELETE ?id=— remove
X-Ondial-Signature (HMAC-SHA256 of raw body with your secret).
Subscribe at least to: call.inbound.started, call.inbound.completed, call.inbound.billed, call.outbound.status, call.outbound.billed, credits.usage.
