curl -X POST "https://www.gomry.com/api/v1/webhooks" \
-H "X-API-KEY: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/webhooks/gomry",
"event": "attendee.registered"
}'
{
"data": {
"id": "whk_3f9a1c2b4d5e6f708192a3b4",
"url": "https://example.com/webhooks/gomry",
"event": "attendee.registered",
"event_id": null,
"form_id": null,
"status": "active",
"source": "api",
"last_delivered_at": null,
"last_failed_at": null,
"created_at": "2026-10-15T10:00:00.000Z",
"secret": "whsec_Q2hhbmdlTWVJbkRvY3NFeGFtcGxlT25seUFiY2RlZg"
}
}
Webhooks
Create Webhook Subscription
Subscribe a URL to one event type (REST hook)
POST
/
webhooks
curl -X POST "https://www.gomry.com/api/v1/webhooks" \
-H "X-API-KEY: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/webhooks/gomry",
"event": "attendee.registered"
}'
{
"data": {
"id": "whk_3f9a1c2b4d5e6f708192a3b4",
"url": "https://example.com/webhooks/gomry",
"event": "attendee.registered",
"event_id": null,
"form_id": null,
"status": "active",
"source": "api",
"last_delivered_at": null,
"last_failed_at": null,
"created_at": "2026-10-15T10:00:00.000Z",
"secret": "whsec_Q2hhbmdlTWVJbkRvY3NFeGFtcGxlT25seUFiY2RlZg"
}
}
Create Webhook Subscription
Subscribes an HTTPS URL to one event type. From then on, every matching event is POSTed to that URL as a signed JSON envelope (see Webhooks). This is the endpoint Zapier, Make, n8n and similar tools call when a user turns on an automation; remove the subscription with Delete Webhook Subscription when it is turned off. The key needs the read scope of the data the event carries:attendees:read for attendee.registered, applications:read for form_response.created and form_response.updated. A subscription stops delivering if its key is revoked.
Body
string
required
Where to deliver events. Must be a publicly reachable
https:// URL. Private and internal addresses are refused.string
required
One of
attendee.registered, form_response.created, form_response.updated.string
attendee.registered only. Deliver registrations for this event alone. Omit for every event in the organization.string
form_response.created and form_response.updated only. Deliver responses to this form alone. Omit for every form.Response
Returns201 Created.
object
Show Subscription object
Show Subscription object
string
Subscription identifier (
whk_...). Use it to unsubscribe.string
The delivery URL
string
The event type
string | null
Event filter
string | null
Form filter
string
activestring
zapier or apistring | null
Last successful delivery
string | null
Last failed delivery
string
ISO 8601 creation timestamp
string
Signing secret (
whsec_...) for verifying the Gomry-Signature header. Returned only in this response: store it now.Errors
| Status | error | When |
|---|---|---|
| 400 | validation_error | Missing or invalid field, a URL that is not public HTTPS, or a filter the event type does not support |
| 403 | insufficient_scope | The key lacks the read scope the event needs (required_scope names it) |
| 404 | not_found | event_id or form_id is not in your organization |
| 422 | subscription_limit_reached | The organization already has 100 active subscriptions |
curl -X POST "https://www.gomry.com/api/v1/webhooks" \
-H "X-API-KEY: your_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/webhooks/gomry",
"event": "attendee.registered"
}'
{
"data": {
"id": "whk_3f9a1c2b4d5e6f708192a3b4",
"url": "https://example.com/webhooks/gomry",
"event": "attendee.registered",
"event_id": null,
"form_id": null,
"status": "active",
"source": "api",
"last_delivered_at": null,
"last_failed_at": null,
"created_at": "2026-10-15T10:00:00.000Z",
"secret": "whsec_Q2hhbmdlTWVJbkRvY3NFeGFtcGxlT25seUFiY2RlZg"
}
}

