Get webhook endpoint
curl --request GET \
--url https://my.flowsign.app/api/v1/webhooks/{endpointId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/webhooks/{endpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/webhooks/{endpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://my.flowsign.app/api/v1/webhooks/{endpointId}';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://my.flowsign.app/api/v1/webhooks/{endpointId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/webhooks/{endpointId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/webhooks/{endpointId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$response = Invoke-WebRequest -Uri 'https://my.flowsign.app/api/v1/webhooks/{endpointId}' -Method GET -Headers $headers{
"data": {
"id": "cmg1h7t2k0003v8p9d4q6xw2e",
"url": "https://hooks.example.co.nz/flowsign",
"description": "Production CRM sync",
"events": [
"PACKAGE_COMPLETED",
"PACKAGE_DECLINED"
],
"enabled": true,
"status": "ACTIVE",
"failureCount": 0,
"secretRotatingUntil": "2026-09-15T02:15:30.000Z",
"lastDeliveryAt": "2026-09-14T02:15:31.000Z",
"createdAt": "2026-08-02T21:04:11.000Z",
"updatedAt": "2026-09-10T00:42:07.000Z",
"deliveries": [
{
"id": "cmg1hb9r40008v8p9k2n7ya5c",
"eventType": "PACKAGE_COMPLETED",
"status": "DELIVERED",
"isTest": false,
"responseStatus": 200,
"error": "HTTP 503",
"attemptCount": 1,
"nextAttemptAt": "2026-09-14T02:17:30.000Z",
"deliveredAt": "2026-09-14T02:15:31.000Z",
"createdAt": "2026-09-14T02:15:30.000Z"
}
],
"deliveryCount": 128,
"page": 1,
"pageSize": 25
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}Webhooks
Get webhook endpoint
Returns the endpoint configuration plus a page of its deliveries. Requires canManageWebhooks.
GET
https://my.flowsign.app
/
api
/
v1
/
webhooks
/
{endpointId}
Get webhook endpoint
curl --request GET \
--url https://my.flowsign.app/api/v1/webhooks/{endpointId} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/webhooks/{endpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://my.flowsign.app/api/v1/webhooks/{endpointId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://my.flowsign.app/api/v1/webhooks/{endpointId}';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));import requests
url = "https://my.flowsign.app/api/v1/webhooks/{endpointId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/webhooks/{endpointId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
using RestSharp;
var options = new RestClientOptions("https://my.flowsign.app/api/v1/webhooks/{endpointId}");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("Authorization", "Bearer <token>");
var response = await client.GetAsync(request);
Console.WriteLine("{0}", response.Content);
$headers=@{}
$headers.Add("Authorization", "Bearer <token>")
$response = Invoke-WebRequest -Uri 'https://my.flowsign.app/api/v1/webhooks/{endpointId}' -Method GET -Headers $headers{
"data": {
"id": "cmg1h7t2k0003v8p9d4q6xw2e",
"url": "https://hooks.example.co.nz/flowsign",
"description": "Production CRM sync",
"events": [
"PACKAGE_COMPLETED",
"PACKAGE_DECLINED"
],
"enabled": true,
"status": "ACTIVE",
"failureCount": 0,
"secretRotatingUntil": "2026-09-15T02:15:30.000Z",
"lastDeliveryAt": "2026-09-14T02:15:31.000Z",
"createdAt": "2026-08-02T21:04:11.000Z",
"updatedAt": "2026-09-10T00:42:07.000Z",
"deliveries": [
{
"id": "cmg1hb9r40008v8p9k2n7ya5c",
"eventType": "PACKAGE_COMPLETED",
"status": "DELIVERED",
"isTest": false,
"responseStatus": 200,
"error": "HTTP 503",
"attemptCount": 1,
"nextAttemptAt": "2026-09-14T02:17:30.000Z",
"deliveredAt": "2026-09-14T02:15:31.000Z",
"createdAt": "2026-09-14T02:15:30.000Z"
}
],
"deliveryCount": 128,
"page": 1,
"pageSize": 25
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}{
"error": "Missing permission: canSendPackages",
"details": {
"recipients.0.email": [
"Invalid email"
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The workspace the key was issued for, as returned by GET /api/v1/workspaces. Optional: omitting it acts in the key's workspace, and any other id is rejected with 401.
Path Parameters
Query Parameters
Delivery page number, starting at 1.
Required range:
x >= 1Example:
1
Deliveries per page, 1 to 100.
Required range:
1 <= x <= 100Example:
25
Only return deliveries in this status.
Available options:
PENDING, DELIVERED, FAILED, EXHAUSTED Example:
"DELIVERED"
Response
Success
Show child attributes
Show child attributes
Was this page helpful?

