Skip to main content
List event deliveries
curl --request GET \
  --url https://customer-api.fortary.io/v1/webhook-events/{eventId}/deliveries
import requests

url = "https://customer-api.fortary.io/v1/webhook-events/{eventId}/deliveries"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://customer-api.fortary.io/v1/webhook-events/{eventId}/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://customer-api.fortary.io/v1/webhook-events/{eventId}/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://customer-api.fortary.io/v1/webhook-events/{eventId}/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://customer-api.fortary.io/v1/webhook-events/{eventId}/deliveries")
.asString();
require 'uri'
require 'net/http'

url = URI("https://customer-api.fortary.io/v1/webhook-events/{eventId}/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
Pre-release — contact your Fortary account team for access.
Illustrative reference. These examples show the shape of the API and are provided for early evaluation while it is still being finalized. Field names and response details may change before the API is released. A complete reference, generated directly from the live API, will replace these examples once it is available.
Lists every delivery of one event across all matching webhooks — the entry point for “we never received event X”. Requires the webhook:read scope.

Request

curl https://customer-api.fortary.io/v1/webhook-events/evt_01hz8x2k9qv7m3ntf5rw6ye8ka/deliveries \
  -H "Authorization: Bearer fort_..."

Response

Returned in full — no pagination. Delivery fields are described in List webhook deliveries.
{
  "data": [
    {
      "id": "del_5c8a1f3e9b",
      "eventId": "evt_01hz8x2k9qv7m3ntf5rw6ye8ka",
      "webhookId": "whs_9b2f4e1a7c",
      "status": "DELIVERED",
      "attempts": [
        {
          "at": "2026-06-10T14:23:05Z",
          "result": "2xx",
          "httpStatus": 200,
          "latencyMs": 87,
          "bodySnippet": null
        }
      ],
      "replayedFromDeliveryId": null,
      "deliveredAt": "2026-06-10T14:23:05Z",
      "createdAt": "2026-06-10T14:23:05Z"
    }
  ]
}
An empty data array on a dispatched event means no webhook matched it — see matchedCount on Get webhook event. Errors follow the standard error envelope.