curl --request GET \
--url https://api.prequel.co/webhooks/{webhook_id}/deliveries \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.prequel.co/webhooks/{webhook_id}/deliveries"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.prequel.co/webhooks/{webhook_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.prequel.co/webhooks/{webhook_id}/deliveries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$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.prequel.co/webhooks/{webhook_id}/deliveries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
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.prequel.co/webhooks/{webhook_id}/deliveries")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prequel.co/webhooks/{webhook_id}/deliveries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"deliveries": [
{
"id": "<string>",
"webhook_id": "<string>",
"event_id": "<string>",
"event_type": "transfer.error",
"status": "error",
"created_at": "2023-11-07T05:31:56Z",
"attempted_at": "2023-11-07T05:31:56Z",
"errored_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"error": {
"type": "http_status",
"status_code": 503,
"response_body": "<string>",
"message": "<string>"
},
"event_message": {}
}
]
},
"message": "<string>",
"has_next": true,
"next_url": "<string>"
}{
"status": "error",
"message": "<string>",
"data": null
}{
"status": "error",
"message": "<string>",
"data": null
}{
"status": "error",
"message": "<string>",
"data": null
}{
"status": "error",
"message": "<string>",
"data": null
}List unsuccessful webhook deliveries
Returns a webhook’s failed or unknown-outcome deliveries, latest first. Successful and in-flight deliveries are not listed. Records are removed once they expire. A record first appears only after delivery has been attempted. It is marked unknown if no outcome is recorded within 2 minutes of the attempt. Deliveries are queued and may be attempted at a time after their created_at timestamp. A record could thus appear behind other records containing a later created_at. A polling mechanism that relies on advancing a created_after watermark may miss such records. To ensure that every record is collected, page through the entire list and skip ids that have already been seen. Records do not include Prequel webhook signature headers, so a handler that verifies webhook signatures will reject a replayed event_message.
curl --request GET \
--url https://api.prequel.co/webhooks/{webhook_id}/deliveries \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.prequel.co/webhooks/{webhook_id}/deliveries"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.prequel.co/webhooks/{webhook_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.prequel.co/webhooks/{webhook_id}/deliveries",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$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.prequel.co/webhooks/{webhook_id}/deliveries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
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.prequel.co/webhooks/{webhook_id}/deliveries")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.prequel.co/webhooks/{webhook_id}/deliveries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": "success",
"data": {
"deliveries": [
{
"id": "<string>",
"webhook_id": "<string>",
"event_id": "<string>",
"event_type": "transfer.error",
"status": "error",
"created_at": "2023-11-07T05:31:56Z",
"attempted_at": "2023-11-07T05:31:56Z",
"errored_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"error": {
"type": "http_status",
"status_code": 503,
"response_body": "<string>",
"message": "<string>"
},
"event_message": {}
}
]
},
"message": "<string>",
"has_next": true,
"next_url": "<string>"
}{
"status": "error",
"message": "<string>",
"data": null
}{
"status": "error",
"message": "<string>",
"data": null
}{
"status": "error",
"message": "<string>",
"data": null
}{
"status": "error",
"message": "<string>",
"data": null
}Authorizations
Path Parameters
Webhook ID.
Query Parameters
Delivery status to filter by. Returns both when omitted.
error, unknown HTTP status the endpoint returned, such as 503.
Event type to filter deliveries by, such as transfer.error.
Filter to items with created_at greater than or equal to (inclusive) this RFC3339 timestamp.
Filter to items with created_at less than (exclusive) this RFC3339 timestamp.
Number of items to return per page.
Sort order for items
asc, desc Used for pagination - represents last page seen. Value is included in response when there is a next page.