curl --request GET \
--url https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/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://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/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 => [
"Authorization: Bearer <token>"
],
]);
$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://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"event": {
"id": "evt_01m4wp8xtpfm9tp57mh59nbgrq",
"type": "transfer.statusChanged",
"createdAt": "2026-10-14T09:30:00.100Z",
"schema": "v1",
"data": {},
"idempotencyKey": "6f1c2d3e-0a4b-5c7d-8e9f-1a2b3c4d5e6f"
},
"id": "whd_01H9Xa8F5dN6mP3q",
"object": "webhookDelivery",
"webhookId": "whk_01H9Xa8F5dN6mP3q",
"resourceType": "<string>",
"resourceId": "<string>",
"status": "queued",
"statusReason": "<string>",
"sendAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"failedAttempts": 123,
"test": true,
"createdAt": "2023-11-07T05:31:56Z"
}
],
"hasMore": true,
"cursor": "<string>"
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"status": 401,
"cause": "signature"
}List deliveries for a webhook
Returns a paginated list of deliveries for the webhook. Attempts are not included; use get-webhook-delivery to expand a delivery with its attempts.
curl --request GET \
--url https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/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://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/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 => [
"Authorization: Bearer <token>"
],
]);
$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://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/webhooks/{webhookId}/deliveries")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"event": {
"id": "evt_01m4wp8xtpfm9tp57mh59nbgrq",
"type": "transfer.statusChanged",
"createdAt": "2026-10-14T09:30:00.100Z",
"schema": "v1",
"data": {},
"idempotencyKey": "6f1c2d3e-0a4b-5c7d-8e9f-1a2b3c4d5e6f"
},
"id": "whd_01H9Xa8F5dN6mP3q",
"object": "webhookDelivery",
"webhookId": "whk_01H9Xa8F5dN6mP3q",
"resourceType": "<string>",
"resourceId": "<string>",
"status": "queued",
"statusReason": "<string>",
"sendAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"failedAttempts": 123,
"test": true,
"createdAt": "2023-11-07T05:31:56Z"
}
],
"hasMore": true,
"cursor": "<string>"
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"status": 401,
"cause": "signature"
}Authorizations
Token from POST /auth/token
Path Parameters
Query Parameters
Delivery lifecycle state. skipped is recorded but not dispatched (suspended/disabled webhook).
queued, inProgress, delivered, failed, skipped Only deliveries whose event.id equals this value.
x <= 100Response
List of deliveries
Hide child attributes
Hide child attributes
The webhook body for this delivery, rendered as the current webhook format. attempts[].requestBody holds the body each attempt sent, cut off at 64 KiB when requestBodyTruncated is set.
Hide child attributes
Hide child attributes
The event's dedup key, stable across retries.
"evt_01m4wp8xtpfm9tp57mh59nbgrq"
"transfer.statusChanged"
When the producer created the event, falling back to when it happened, in UTC with three decimals.
"2026-10-14T09:30:00.100Z"
v1 for events in the V1 catalog, or an empty string for events published before it.
"v1"
The event's data. An empty object when the delivery's payload could not be converted.
The same on every emission of one logical change, so a repeat that carries a new id can be skipped. Absent when the producer set none.
"6f1c2d3e-0a4b-5c7d-8e9f-1a2b3c4d5e6f"
"whd_01H9Xa8F5dN6mP3q"
"webhookDelivery"
"whk_01H9Xa8F5dN6mP3q"
Delivery lifecycle state. skipped is recorded but not dispatched (suspended/disabled webhook).
queued, inProgress, delivered, failed, skipped True for a synthesized test delivery.
When OMS stored the delivery.
Opaque pagination cursor. Absent on the last page.
Was this page helpful?