Webhooks
List Deliveries
View recent delivery attempts for a webhook, including successes and failures.
GET
/
api
/
v1
/
webhooks
/
{id}
/
deliveries
List Deliveries
curl --request GET \
--url https://api.example.com/api/v1/webhooks/{id}/deliveriesimport requests
url = "https://api.example.com/api/v1/webhooks/{id}/deliveries"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/webhooks/{id}/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/webhooks/{id}/deliveries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/webhooks/{id}/deliveries"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/webhooks/{id}/deliveries")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/webhooks/{id}/deliveries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"deliveries": [
{
"id": "<string>",
"event_type": "<string>",
"http_status": {},
"error_message": {},
"status": "<string>",
"attempt": 123,
"failed_at": {}
}
]
}Path Parameters
The webhook UUID.
Response
Returns the 50 most recent delivery attempts, newest first.Show Delivery object
Show Delivery object
Delivery UUID
The event type that was delivered
HTTP status code from your server (null if connection failed)
Error description on failure
success or failedWhich attempt this was (1 = first try, up to max retries + 1)
ISO 8601 timestamp
Example
curl https://www.hitheo.ai/api/v1/webhooks/WEBHOOK_ID/deliveries \
-H "Authorization: Bearer $THEO_API_KEY"
const deliveries = await theo.webhookDeliveries("WEBHOOK_ID");
Response
{
"deliveries": [
{
"id": "d1e2f3a4-...",
"event_type": "completion.created",
"http_status": 200,
"error_message": null,
"status": "success",
"attempt": 1,
"failed_at": "2026-04-15T12:01:00.000Z"
},
{
"id": "b5c6d7e8-...",
"event_type": "job.failed",
"http_status": 503,
"error_message": "HTTP 503",
"status": "failed",
"attempt": 4,
"failed_at": "2026-04-15T11:58:00.000Z"
}
]
}
Failed deliveries can be retried using the retry endpoint.
Was this page helpful?
⌘I
List Deliveries
curl --request GET \
--url https://api.example.com/api/v1/webhooks/{id}/deliveriesimport requests
url = "https://api.example.com/api/v1/webhooks/{id}/deliveries"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/v1/webhooks/{id}/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/webhooks/{id}/deliveries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/webhooks/{id}/deliveries"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/v1/webhooks/{id}/deliveries")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/webhooks/{id}/deliveries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"deliveries": [
{
"id": "<string>",
"event_type": "<string>",
"http_status": {},
"error_message": {},
"status": "<string>",
"attempt": 123,
"failed_at": {}
}
]
}