List delivery attempts
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/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.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/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_bodyfalsecurl --request GET \
--url https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries \
--header 'Authorization: Bearer <token>'{
"ok": true,
"data": {
"deliveries": [
{
"deliveryId": "<string>",
"subscriptionId": "<string>",
"developerId": "<string>",
"eventKind": "*",
"payload": "<string>",
"firstAttemptedAt": "2023-11-07T05:31:56Z",
"lastAttemptedAt": "2023-11-07T05:31:56Z",
"attemptCount": 123,
"status": "delivered",
"httpStatus": 123,
"responseBodyExcerpt": "<string>",
"errorMessage": "<string>",
"nextRetryAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"signatureHeader": "<string>"
}
],
"nextCursor": 123,
"total": 123
},
"contractVersion": "v1.0"
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}Webhooks
List delivery attempts
List every delivery attempt for the subscription, newest first. Each row holds the canonical outbound payload and the response excerpt. Requires scope audit:read.
GET
/
v1
/
webhooks
/
{subscriptionId}
/
deliveries
List delivery attempts
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/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.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/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_bodyfalsecurl --request GET \
--url https://sandbox.api.enfinitos.com/v1/webhooks/{subscriptionId}/deliveries \
--header 'Authorization: Bearer <token>'{
"ok": true,
"data": {
"deliveries": [
{
"deliveryId": "<string>",
"subscriptionId": "<string>",
"developerId": "<string>",
"eventKind": "*",
"payload": "<string>",
"firstAttemptedAt": "2023-11-07T05:31:56Z",
"lastAttemptedAt": "2023-11-07T05:31:56Z",
"attemptCount": 123,
"status": "delivered",
"httpStatus": 123,
"responseBodyExcerpt": "<string>",
"errorMessage": "<string>",
"nextRetryAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"signatureHeader": "<string>"
}
],
"nextCursor": 123,
"total": 123
},
"contractVersion": "v1.0"
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}{
"ok": false,
"error": "AUTH_REQUIRED",
"message": "<string>",
"contractVersion": "v1.0",
"field": "<string>",
"validationErrors": [
{}
],
"requiredScopes": [
"<string>"
],
"keyScopes": [
"<string>"
]
}Authorizations
API key sent as Authorization: Bearer <api-key>.
Path Parameters
Webhook subscription id.
Query Parameters
Filter by delivery status.
queued = persisted, first attempt pending; delivered = a 2xx was received; failed = last attempt failed, a retry is scheduled (exponential backoff with jitter — ~30s, 2m, 10m, 1h); dead_lettered = 5 attempts exhausted, automatic retries stopped — re-fire manually via the replay endpoint.
Available options:
delivered, failed, queued, dead_lettered Zero-indexed pagination cursor (slice start). Echo nextCursor from the previous page.
Required range:
x >= 0Max items per page. Default 50.
Required range:
x >= 1