List a webhook's delivery attempts
curl --request GET \
--url https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts', 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.arize.com/v2/webhooks/{webhook_id}/delivery-attempts",
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://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts"
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://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts")
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{
"delivery_attempts": [
{
"event_id": "3f1c9a2e-8b4d-4f6a-9c7e-2d5b8a1f0c3e",
"attempt_number": 2,
"payload": {
"event": "prompt.version.created",
"data": {
"prompt_id": "UHJvbXB0OjEyMzQ1"
}
},
"status_code": 200,
"error_message": null,
"created_at": "2026-08-01T12:05:00Z"
},
{
"event_id": "3f1c9a2e-8b4d-4f6a-9c7e-2d5b8a1f0c3e",
"attempt_number": 1,
"payload": {
"event": "prompt.version.created",
"data": {
"prompt_id": "UHJvbXB0OjEyMzQ1"
}
},
"status_code": null,
"error_message": "Delivery timed out",
"created_at": "2026-08-01T12:00:00Z"
}
],
"pagination": {
"next_cursor": "cursor_12345",
"has_more": true
}
}{
"status": 400,
"title": "Invalid request parameters",
"detail": "The 'name' field is required and must be a non-empty string.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#invalid-request"
}{
"status": 401,
"title": "Authentication required",
"detail": "You must be authenticated to access this resource.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#authentication-required"
}{
"status": 403,
"title": "Access forbidden",
"detail": "You do not have permission to access this resource.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#access-forbidden"
}{
"status": 404,
"title": "Resource not found",
"detail": "The requested resource with ID '12345' was not found.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-not-found"
}{
"status": 429,
"title": "Rate limit exceeded",
"detail": "You have exceeded the allowed number of requests. Please try again later.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded"
}Webhooks
List a webhook's delivery attempts
List the webhook’s delivery attempts, most recent first. Each event may have several attempts, since failed deliveries are retried.
This endpoint is in alpha, read more here.
GET
/
v2
/
webhooks
/
{webhook_id}
/
delivery-attempts
List a webhook's delivery attempts
curl --request GET \
--url https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts', 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.arize.com/v2/webhooks/{webhook_id}/delivery-attempts",
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://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts"
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://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.arize.com/v2/webhooks/{webhook_id}/delivery-attempts")
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{
"delivery_attempts": [
{
"event_id": "3f1c9a2e-8b4d-4f6a-9c7e-2d5b8a1f0c3e",
"attempt_number": 2,
"payload": {
"event": "prompt.version.created",
"data": {
"prompt_id": "UHJvbXB0OjEyMzQ1"
}
},
"status_code": 200,
"error_message": null,
"created_at": "2026-08-01T12:05:00Z"
},
{
"event_id": "3f1c9a2e-8b4d-4f6a-9c7e-2d5b8a1f0c3e",
"attempt_number": 1,
"payload": {
"event": "prompt.version.created",
"data": {
"prompt_id": "UHJvbXB0OjEyMzQ1"
}
},
"status_code": null,
"error_message": "Delivery timed out",
"created_at": "2026-08-01T12:00:00Z"
}
],
"pagination": {
"next_cursor": "cursor_12345",
"has_more": true
}
}{
"status": 400,
"title": "Invalid request parameters",
"detail": "The 'name' field is required and must be a non-empty string.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#invalid-request"
}{
"status": 401,
"title": "Authentication required",
"detail": "You must be authenticated to access this resource.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#authentication-required"
}{
"status": 403,
"title": "Access forbidden",
"detail": "You do not have permission to access this resource.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#access-forbidden"
}{
"status": 404,
"title": "Resource not found",
"detail": "The requested resource with ID '12345' was not found.",
"instance": "/resource/12345",
"type": "https://arize.com/docs/ax/rest-reference/errors#resource-not-found"
}{
"status": 429,
"title": "Rate limit exceeded",
"detail": "You have exceeded the allowed number of requests. Please try again later.",
"instance": "/resource",
"type": "https://arize.com/docs/ax/rest-reference/errors#rate-limit-exceeded"
}Authorizations
Most Arize AI endpoints require authentication. For those endpoints that require authentication, include your API key in the request header using the format
Path Parameters
The unique webhook identifier (base64) A universally unique identifier (base64-encoded opaque string).
Example:
"RW50aXR5OjEyMzQ1"
Query Parameters
Maximum items to return
Required range:
1 <= x <= 500Opaque pagination cursor returned from a previous response
(pagination.next_cursor). Treat it as an unreadable token; do not
attempt to parse or construct it.
Was this page helpful?
⌘I