Get webhook event
curl --request GET \
--url https://customer-api.fortary.io/v1/webhook-events/{eventId}import requests
url = "https://customer-api.fortary.io/v1/webhook-events/{eventId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://customer-api.fortary.io/v1/webhook-events/{eventId}', 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}",
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}"
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}")
.asString();require 'uri'
require 'net/http'
url = URI("https://customer-api.fortary.io/v1/webhook-events/{eventId}")
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_bodyWebhooks
Get webhook event
Get webhook event
curl --request GET \
--url https://customer-api.fortary.io/v1/webhook-events/{eventId}import requests
url = "https://customer-api.fortary.io/v1/webhook-events/{eventId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://customer-api.fortary.io/v1/webhook-events/{eventId}', 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}",
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}"
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}")
.asString();require 'uri'
require 'net/http'
url = URI("https://customer-api.fortary.io/v1/webhook-events/{eventId}")
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_bodyPre-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.
webhook:read scope.
Request
curl https://customer-api.fortary.io/v1/webhook-events/evt_01hz8x2k9qv7m3ntf5rw6ye8ka \
-H "Authorization: Bearer fort_..."
Response
The event — fields as in List webhook events — plusmatchedCount:
{
"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",
"matchedCount": 1
}
matchedCount— how many webhooks matched this event.0with a non-nulldispatchedAtmeans no webhook was subscribed to this kind when it fired — the usual answer to “why didn’t I receive it”.
404, not 403 — see Authorization.
Errors follow the standard error envelope.⌘I

