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

url = "https://customer-api.fortary.io/v1/webhook-events"

response = requests.get(url)

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

fetch('https://customer-api.fortary.io/v1/webhook-events', 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",
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"

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")
.asString();
require 'uri'
require 'net/http'

url = URI("https://customer-api.fortary.io/v1/webhook-events")

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 the event log: every event from the last 31 days, recorded whether or not a webhook matched it. Requires the webhook:read scope.

Request

curl "https://customer-api.fortary.io/v1/webhook-events?kind=transaction.confirmed" \
  -H "Authorization: Bearer fort_..."
Query parameters (all optional):
  • kind — exact event kind filter.
  • vaultId — only vault-scoped events touching this vault.
  • occurredAfter / occurredBefore — inclusive bounds on the occurrence time.

Response

{
  "data": [
    {
      "id": "evt_01hz8x2k9qv7m3ntf5rw6ye8ka",
      "entityId": "entity_7c1e4a0c2f",
      "vaultIds": ["vault_3f8a2c1d9b"],
      "kind": "transaction.confirmed",
      "schemaVersion": 1,
      "payload": { /* the delivered envelope — see Event types */ },
      "occurredAt": "2026-06-10T14:23:05Z",
      "dispatchedAt": "2026-06-10T14:23:05Z",
      "createdAt": "2026-06-10T14:23:05Z"
    }
  ],
  "pagination": {
    "limit": 100,
    "nextCursor": null
  }
}
  • payload — the exact event envelope delivered to matching webhooks.
  • vaultIds — the vaults involved, or null for non-vault-scoped events.
  • occurredAt — when the event occurred (the envelope’s date).
  • dispatchedAt — when deliveries were fanned out; null while dispatch is pending.
To page through a longer list, pass nextCursor back — see Pagination. Errors follow the standard error envelope.