Ulsav Docs

Webhooks

List webhook endpoints

GET
/api/v1/organizations/{organization_id}/webhooks

Path Parameters

organization_id*string

Organization id.

Query Parameters

enabled?string

Filter by enabled state.

Value in"true""false"
limit?integer

Page size (1-100)

Formatint64
Range1 <= value <= 100
Default20
cursor?string

Opaque cursor from meta.nextCursor

includeTotal?boolean

Set false to omit meta.total

Defaulttrue

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
data*array<>|null
meta*
Example Request
curl -X GET 'https://example.com/api/v1/organizations/string/webhooks'
Example Response
{  "$schema": "https://example.com/schemas/PageEndpoint.json",  "data": [    {      "$schema": "https://example.com/schemas/Endpoint.json",      "consecutiveFailures": 0,      "createdAt": "2019-08-24T14:15:22Z",      "createdByApiKeyId": "string",      "disabledReason": "string",      "enabled": true,      "eventTypes": [        "string"      ],      "filters": {        "property1": null,        "property2": null      },      "id": "string",      "lastFailureAt": "2019-08-24T14:15:22Z",      "lastSuccessAt": "2019-08-24T14:15:22Z",      "name": "string",      "organizationId": "string",      "secretLast4": "string",      "updatedAt": "2019-08-24T14:15:22Z",      "url": "string"    }  ],  "meta": {    "hasMore": true,    "limit": 0,    "nextCursor": "string",    "total": 0  }}
POST
/api/v1/organizations/{organization_id}/webhooks

Path Parameters

organization_id*string

Organization id.

Request Body

application/json
  1. body
enabled?boolean

Whether deliveries are sent; defaults to true.

eventTypes*array<string>|

Public event types to receive, or ["*"] for every event.

Items1 <= items
filters?

Optional filters such as eventIds or passIds.

name?string

Human-readable name for the subscription.

Lengthlength <= 120
url*string

HTTPS endpoint that receives event deliveries.

Length8 <= length

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
consecutiveFailures*integer
Formatint64
createdAt*string
Formatdate-time
createdByApiKeyId?string
disabledReason?string
enabled*boolean
eventTypes*array<string>|null
filters?
id*string
lastFailureAt?string
Formatdate-time
lastSuccessAt?string
Formatdate-time
name*string
organizationId*string
previousSecretExpiresAt?string
Formatdate-time
secret?string
secretLast4*string
updatedAt*string
Formatdate-time
url*string
Example Request
curl -X POST 'https://example.com/api/v1/organizations/string/webhooks' \  -H 'Content-Type: application/json' \  -d '{  "eventTypes": [    "string"  ],  "url": "stringst"}'
Example Response
{  "$schema": "https://example.com/schemas/EndpointDetail.json",  "consecutiveFailures": 0,  "createdAt": "2019-08-24T14:15:22Z",  "createdByApiKeyId": "string",  "disabledReason": "string",  "enabled": true,  "eventTypes": [    "string"  ],  "filters": {    "property1": null,    "property2": null  },  "id": "string",  "lastFailureAt": "2019-08-24T14:15:22Z",  "lastSuccessAt": "2019-08-24T14:15:22Z",  "name": "string",  "organizationId": "string",  "previousSecretExpiresAt": "2019-08-24T14:15:22Z",  "secret": "string",  "secretLast4": "string",  "updatedAt": "2019-08-24T14:15:22Z",  "url": "string"}

Get a webhook endpoint

GET
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
consecutiveFailures*integer
Formatint64
createdAt*string
Formatdate-time
createdByApiKeyId?string
disabledReason?string
enabled*boolean
eventTypes*array<string>|null
filters?
id*string
lastFailureAt?string
Formatdate-time
lastSuccessAt?string
Formatdate-time
name*string
organizationId*string
secretLast4*string
updatedAt*string
Formatdate-time
url*string
Example Request
curl -X GET 'https://example.com/api/v1/organizations/string/webhooks/string'
Example Response
{  "$schema": "https://example.com/schemas/Endpoint.json",  "consecutiveFailures": 0,  "createdAt": "2019-08-24T14:15:22Z",  "createdByApiKeyId": "string",  "disabledReason": "string",  "enabled": true,  "eventTypes": [    "string"  ],  "filters": {    "property1": null,    "property2": null  },  "id": "string",  "lastFailureAt": "2019-08-24T14:15:22Z",  "lastSuccessAt": "2019-08-24T14:15:22Z",  "name": "string",  "organizationId": "string",  "secretLast4": "string",  "updatedAt": "2019-08-24T14:15:22Z",  "url": "string"}
PATCH
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

Request Body

application/json
  1. body
enabled?boolean
eventTypes?array<string>
filters?
name?string
Lengthlength <= 120
url?string

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
consecutiveFailures*integer
Formatint64
createdAt*string
Formatdate-time
createdByApiKeyId?string
disabledReason?string
enabled*boolean
eventTypes*array<string>|null
filters?
id*string
lastFailureAt?string
Formatdate-time
lastSuccessAt?string
Formatdate-time
name*string
organizationId*string
secretLast4*string
updatedAt*string
Formatdate-time
url*string
Example Request
curl -X PATCH 'https://example.com/api/v1/organizations/string/webhooks/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "$schema": "https://example.com/schemas/Endpoint.json",  "consecutiveFailures": 0,  "createdAt": "2019-08-24T14:15:22Z",  "createdByApiKeyId": "string",  "disabledReason": "string",  "enabled": true,  "eventTypes": [    "string"  ],  "filters": {    "property1": null,    "property2": null  },  "id": "string",  "lastFailureAt": "2019-08-24T14:15:22Z",  "lastSuccessAt": "2019-08-24T14:15:22Z",  "name": "string",  "organizationId": "string",  "secretLast4": "string",  "updatedAt": "2019-08-24T14:15:22Z",  "url": "string"}
DELETE
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

Response Body

No Content

Example Request
curl -X DELETE 'https://example.com/api/v1/organizations/string/webhooks/string'
Example Response
Empty

List webhook deliveries

GET
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}/deliveries

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

Query Parameters

limit?integer

Page size (1-100)

Formatint64
Range1 <= value <= 100
Default20
cursor?string

Opaque cursor from meta.nextCursor

includeTotal?boolean

Set false to omit meta.total

Defaulttrue

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
data*array<>|null
meta*
Example Request
curl -X GET 'https://example.com/api/v1/organizations/string/webhooks/string/deliveries'
Example Response
{  "$schema": "https://example.com/schemas/PageDelivery.json",  "data": [    {      "$schema": "https://example.com/schemas/Delivery.json",      "attempts": 0,      "createdAt": "2019-08-24T14:15:22Z",      "durationMs": 0,      "endpointId": "string",      "error": "string",      "eventId": "string",      "eventType": "string",      "httpStatus": 0,      "id": "string",      "isTest": true,      "lastAttemptAt": "2019-08-24T14:15:22Z",      "nextAttemptAt": "2019-08-24T14:15:22Z",      "replayCount": 0,      "responseBody": "string",      "status": "string"    }  ],  "meta": {    "hasMore": true,    "limit": 0,    "nextCursor": "string",    "total": 0  }}
GET
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}/deliveries/{delivery_id}

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

delivery_id*string

Webhook delivery id.

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
attempts*array<>|null
createdAt*string
Formatdate-time
durationMs*integer
Formatint64
endpointId*string
error?string
eventId*string
eventType*string
httpStatus?integer
Formatint64
id*string
isTest*boolean
lastAttemptAt?string
Formatdate-time
nextAttemptAt?string
Formatdate-time
payload*
replayCount*integer
Formatint64
responseBody?string
status*string
Example Request
curl -X GET 'https://example.com/api/v1/organizations/string/webhooks/string/deliveries/string'
Example Response
{  "$schema": "https://example.com/schemas/DeliveryDetail.json",  "attempts": [    {      "attempt": 0,      "attemptedAt": "2019-08-24T14:15:22Z",      "deliveryId": "string",      "durationMs": 0,      "error": "string",      "httpStatus": 0,      "id": "string",      "responseBody": "string"    }  ],  "createdAt": "2019-08-24T14:15:22Z",  "durationMs": 0,  "endpointId": "string",  "error": "string",  "eventId": "string",  "eventType": "string",  "httpStatus": 0,  "id": "string",  "isTest": true,  "lastAttemptAt": "2019-08-24T14:15:22Z",  "nextAttemptAt": "2019-08-24T14:15:22Z",  "payload": {    "property1": null,    "property2": null  },  "replayCount": 0,  "responseBody": "string",  "status": "string"}
POST
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}/deliveries/{delivery_id}/replay

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

delivery_id*string

Webhook delivery id.

Header Parameters

Idempotency-Key*string

Required idempotency key for the replay request.

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
attempts*integer
Formatint64
createdAt*string
Formatdate-time
durationMs*integer
Formatint64
endpointId*string
error?string
eventId*string
eventType*string
httpStatus?integer
Formatint64
id*string
isTest*boolean
lastAttemptAt?string
Formatdate-time
nextAttemptAt?string
Formatdate-time
replayCount*integer
Formatint64
responseBody?string
status*string
Example Request
curl -X POST 'https://example.com/api/v1/organizations/string/webhooks/string/deliveries/string/replay' \  -H 'Idempotency-Key: string'
Example Response
{  "$schema": "https://example.com/schemas/Delivery.json",  "attempts": 0,  "createdAt": "2019-08-24T14:15:22Z",  "durationMs": 0,  "endpointId": "string",  "error": "string",  "eventId": "string",  "eventType": "string",  "httpStatus": 0,  "id": "string",  "isTest": true,  "lastAttemptAt": "2019-08-24T14:15:22Z",  "nextAttemptAt": "2019-08-24T14:15:22Z",  "replayCount": 0,  "responseBody": "string",  "status": "string"}
POST
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}/rotate-secret

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
consecutiveFailures*integer
Formatint64
createdAt*string
Formatdate-time
createdByApiKeyId?string
disabledReason?string
enabled*boolean
eventTypes*array<string>|null
filters?
id*string
lastFailureAt?string
Formatdate-time
lastSuccessAt?string
Formatdate-time
name*string
organizationId*string
previousSecretExpiresAt?string
Formatdate-time
secret?string
secretLast4*string
updatedAt*string
Formatdate-time
url*string
Example Request
curl -X POST 'https://example.com/api/v1/organizations/string/webhooks/string/rotate-secret'
Example Response
{  "$schema": "https://example.com/schemas/EndpointDetail.json",  "consecutiveFailures": 0,  "createdAt": "2019-08-24T14:15:22Z",  "createdByApiKeyId": "string",  "disabledReason": "string",  "enabled": true,  "eventTypes": [    "string"  ],  "filters": {    "property1": null,    "property2": null  },  "id": "string",  "lastFailureAt": "2019-08-24T14:15:22Z",  "lastSuccessAt": "2019-08-24T14:15:22Z",  "name": "string",  "organizationId": "string",  "previousSecretExpiresAt": "2019-08-24T14:15:22Z",  "secret": "string",  "secretLast4": "string",  "updatedAt": "2019-08-24T14:15:22Z",  "url": "string"}
POST
/api/v1/organizations/{organization_id}/webhooks/{webhook_id}/test

Path Parameters

organization_id*string

Organization id.

webhook_id*string

Webhook endpoint id.

Request Body

application/json
  1. body
eventType?string

Event type to send; defaults to a subscribed event.

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
deliveryId*string
durationMs*integer
Formatint64
error?string
eventType*string
httpStatus*integer
Formatint64
responseBody?string
status*string
Example Request
curl -X POST 'https://example.com/api/v1/organizations/string/webhooks/string/test' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "$schema": "https://example.com/schemas/TestResult.json",  "deliveryId": "string",  "durationMs": 0,  "error": "string",  "eventType": "string",  "httpStatus": 0,  "responseBody": "string",  "status": "string"}
GET
/api/v1/webhook-event-types

Response Body

OK

application/json
  1. response
$schema?string

A URL to the JSON Schema for this object.

Formaturi
envelope*
groups*array<>|null
version*string
Example Request
curl -X GET 'https://example.com/api/v1/webhook-event-types'
Example Response
{  "$schema": "https://example.com/schemas/Catalog.json",  "envelope": {    "api_version": "string",    "data": {      "property1": null,      "property2": null    },    "id": "string",    "occurred_at": "2019-08-24T14:15:22Z",    "organization_id": "string",    "subject": {      "id": "string",      "type": "string"    },    "type": "string",    "version": 0  },  "groups": [    {      "key": "string",      "label": "string",      "types": [        {          "description": "string",          "filters": [            "string"          ],          "group": "string",          "onceOnly": true,          "sample": {            "property1": null,            "property2": null          },          "type": "string",          "version": 0        }      ]    }  ],  "version": "string"}

checkin.created

A Participant was admitted. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/checkin.created
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "checkin.created",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "checkin",    "id": "019ae4b0-0000-7000-8000-00000000000a"  },  "data": {    "checkInId": "019ae4b0-0000-7000-8000-00000000000a",    "checkInSessionId": "019ae4b0-0000-7000-8000-00000000000b",    "checkedInAt": "2026-11-04T12:00:00Z",    "participantId": "019ae4b0-0000-7000-8000-000000000009",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

event.archived

An Event was archived. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/event.archived
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "event.archived",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "event",    "id": "019ae4b0-0000-7000-8000-000000000001"  },  "data": {    "archivedAt": "2026-11-04T12:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General"  }}

event.cancelled

An Event was cancelled. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/event.cancelled
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "event.cancelled",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "event",    "id": "019ae4b0-0000-7000-8000-000000000001"  },  "data": {    "cancelledAt": "2026-11-04T12:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "reason": "Venue unavailable"  }}

event.postponed

An Event was postponed. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/event.postponed
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "event.postponed",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "event",    "id": "019ae4b0-0000-7000-8000-000000000001"  },  "data": {    "endAt": "2026-12-01T18:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "startAt": "2026-12-01T10:00:00Z"  }}

event.published

An Event became publicly visible. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/event.published
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "event.published",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "event",    "id": "019ae4b0-0000-7000-8000-000000000001"  },  "data": {    "endAt": "2026-12-01T18:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "slug": "sample-event",    "startAt": "2026-12-01T10:00:00Z"  }}

event.updated

A published Event's public fields changed. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/event.updated
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "event.updated",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "event",    "id": "019ae4b0-0000-7000-8000-000000000001"  },  "data": {    "changedFields": [      "summary"    ],    "endAt": "2026-12-01T18:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "slug": "sample-event",    "startAt": "2026-12-01T10:00:00Z"  }}

order.confirmed

An Order reached confirmed. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/order.confirmed
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "order.confirmed",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "order",    "id": "019ae4b0-0000-7000-8000-000000000003"  },  "data": {    "currency": "INR",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "grandTotalMinorUnits": 59000,    "itemCount": 1,    "orderId": "019ae4b0-0000-7000-8000-000000000003"  }}

participant.claimed

A LINK holder secured the Participant to an Account. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/participant.claimed
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "participant.claimed",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "participant",    "id": "019ae4b0-0000-7000-8000-000000000009"  },  "data": {    "accountId": "019ae4b0-0000-7000-8000-000000000007",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "participantId": "019ae4b0-0000-7000-8000-000000000009",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

participant.created

A Participant was created. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/participant.created
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "participant.created",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "participant",    "id": "019ae4b0-0000-7000-8000-000000000009"  },  "data": {    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "participantId": "019ae4b0-0000-7000-8000-000000000009",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

participant.removed

A Participant left a Registration. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/participant.removed
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "participant.removed",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "participant",    "id": "019ae4b0-0000-7000-8000-000000000009"  },  "data": {    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "participantId": "019ae4b0-0000-7000-8000-000000000009",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "reason": "Venue unavailable",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

participant.transferred

A Participant moved between Registrations. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/participant.transferred
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "participant.transferred",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "participant",    "id": "019ae4b0-0000-7000-8000-000000000009"  },  "data": {    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "fromParticipantId": "019ae4b0-0000-7000-8000-000000000008",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006",    "toParticipantId": "019ae4b0-0000-7000-8000-000000000009"  }}

pass.cancelled

A Pass stopped selling. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/pass.cancelled
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "pass.cancelled",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "pass",    "id": "019ae4b0-0000-7000-8000-000000000002"  },  "data": {    "cancelledAt": "2026-11-04T12:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "passId": "019ae4b0-0000-7000-8000-000000000002"  }}

pass.created

A Pass was created. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/pass.created
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "pass.created",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "pass",    "id": "019ae4b0-0000-7000-8000-000000000002"  },  "data": {    "capacity": 100,    "currency": "INR",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "priceMinorUnits": 50000  }}

pass.updated

A Pass's sale terms changed. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/pass.updated
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "pass.updated",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "pass",    "id": "019ae4b0-0000-7000-8000-000000000002"  },  "data": {    "capacity": 100,    "changedFields": [      "summary"    ],    "currency": "INR",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "name": "General",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "priceMinorUnits": 50000  }}

payment.failed

A provider payment attempt definitively failed. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/payment.failed
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "payment.failed",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "order",    "id": "019ae4b0-0000-7000-8000-000000000003"  },  "data": {    "amountMinorUnits": 59000,    "currency": "INR",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "method": "upi",    "orderId": "019ae4b0-0000-7000-8000-000000000003",    "providerEvent": "payment.failed",    "providerPaymentId": "pay_sample"  }}

payment.succeeded

The provider payment behind an Order succeeded. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/payment.succeeded
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "payment.succeeded",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "order",    "id": "019ae4b0-0000-7000-8000-000000000003"  },  "data": {    "amountMinorUnits": 59000,    "currency": "INR",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "method": "upi",    "orderId": "019ae4b0-0000-7000-8000-000000000003",    "paymentId": "pay_sample"  }}

payout.updated

A Payout changed state. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/payout.updated
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "payout.updated",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "payout",    "id": "019ae4b0-0000-7000-8000-000000000005"  },  "data": {    "amountMinorUnits": 59000,    "currency": "INR",    "payoutId": "019ae4b0-0000-7000-8000-000000000005",    "status": "processing"  }}

refund.updated

A Refund changed state. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/refund.updated
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "refund.updated",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "refund",    "id": "019ae4b0-0000-7000-8000-000000000004"  },  "data": {    "amountMinorUnits": 59000,    "currency": "INR",    "orderId": "019ae4b0-0000-7000-8000-000000000003",    "refundId": "019ae4b0-0000-7000-8000-000000000004",    "status": "processing"  }}

registration.cancelled

A Registration was cancelled. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration.cancelled
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration.cancelled",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "cancelledAt": "2026-11-04T12:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "reason": "Venue unavailable",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

registration.confirmed

A Registration was confirmed after checkout. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration.confirmed
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration.confirmed",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "confirmedAt": "2026-11-04T12:00:00Z",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

registration.created

A Registration draft was created. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration.created
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration.created",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "displayName": "Asha Rao",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "kind": "individual",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

A team roster member was replaced. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration.roster_updated
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration.roster_updated",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "participantId": "019ae4b0-0000-7000-8000-000000000009",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006",    "removedParticipantId": "019ae4b0-0000-7000-8000-000000000008"  }}

registration.submitted

A Registration form was submitted. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration.submitted
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration.submitted",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006",    "submittedAt": "2026-11-04T12:00:00Z"  }}

A Registration moved to another Pass. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration.switch_completed
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration.switch_completed",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}

registration.transferred

A Registration holder changed. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration.transferred
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration.transferred",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "reason": "Venue unavailable",    "registrationId": "019ae4b0-0000-7000-8000-000000000006",    "toAccountId": "019ae4b0-0000-7000-8000-000000000007"  }}

A Registration approval round was decided. Verify Ulsav-Signature over the raw body before parsing.

Request Body

application/json
  1. body
api_version*string

Public webhook API version.

data*

Event-specific payload.

id*string

Stable event id; deduplicate on this value.

occurred_at*string

When the underlying business fact occurred (RFC3339).

Formatdate-time
organization_id*string

Organization the event belongs to.

subject*

The primary object the event describes.

type*string

Public event type.

version*integer

Payload version for this event type.

Formatint64

Response Body

Event accepted by the receiver.

Example Requests
POST/registration_approval.decided
Request Body
application/json
{  "id": "019ae4c2-0000-7000-8000-000000000001",  "type": "registration_approval.decided",  "version": 1,  "api_version": "v1",  "organization_id": "019ae4b0-0000-7000-8000-000000000000",  "occurred_at": "2026-11-04T12:00:00Z",  "subject": {    "type": "registration",    "id": "019ae4b0-0000-7000-8000-000000000006"  },  "data": {    "decidedAt": "2026-11-04T12:00:00Z",    "decision": "approved",    "eventId": "019ae4b0-0000-7000-8000-000000000001",    "passId": "019ae4b0-0000-7000-8000-000000000002",    "registrationId": "019ae4b0-0000-7000-8000-000000000006"  }}