curl --request POST \
--url https://gdeltcloud.com/api/v2/monitors/{id}/test-delivery \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/monitors/{id}/test-delivery"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gdeltcloud.com/api/v2/monitors/{id}/test-delivery', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"delivery": {
"delivered": true,
"status": 204,
"retry_at": null,
"error": null,
"channels": {
"email": {
"configured": false,
"tested": false,
"delivered": false,
"reason": null,
"error": null,
"sent_to": null,
"retry_after_seconds": null,
"note": "Email delivery is not enabled on this Monitor."
},
"webhook": {
"configured": true,
"tested": true,
"delivered": true,
"error": null
}
}
}
}Send a test webhook
Tests every delivery channel this Monitor actually uses and reports each one under channels. A configured webhook receives the first attempt of a signed monitor.test event, synchronously; a retryable failure persists retry_at for the retry worker. Configured email receives a real test message at the same address a triggered run would use, from the same sender — so a suppressed or bouncing address is diagnosed in seconds instead of after a full cadence. Email tests are rate-limited per organization and answer channels.email.retry_after_seconds when refused. The test creates NO Monitor run: nothing is evaluated, no matches are marked as seen, and nothing appears in GET /api/v2/monitors/{id}/runs. The top-level delivered, reason, error, status and retry_at describe the webhook when one is configured and the email otherwise, so an email-only Monitor reports its real delivery rather than not_configured. Not refused on a plan without webhook entitlement when the Monitor has no webhook. Takes no query parameters and no body.
curl --request POST \
--url https://gdeltcloud.com/api/v2/monitors/{id}/test-delivery \
--header 'Authorization: Bearer <token>'import requests
url = "https://gdeltcloud.com/api/v2/monitors/{id}/test-delivery"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gdeltcloud.com/api/v2/monitors/{id}/test-delivery', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"delivery": {
"delivered": true,
"status": 204,
"retry_at": null,
"error": null,
"channels": {
"email": {
"configured": false,
"tested": false,
"delivered": false,
"reason": null,
"error": null,
"sent_to": null,
"retry_after_seconds": null,
"note": "Email delivery is not enabled on this Monitor."
},
"webhook": {
"configured": true,
"tested": true,
"delivered": true,
"error": null
}
}
}
}
