Webhooks

List webhook subscriptions

Returns a paginated list of webhook subscriptions for the site. Optionally filter by event type (event) or by the external system that owns the subscription (managedBy, e.g. 'zapier').

Each item includes the webhook id, name, delivery URL, event list, active status, secret prefix (first 10 chars — the full secret is only returned at creation time), and managedBy marker.

Use this endpoint to discover existing subscriptions (e.g. Zapier dedupe on Zap enable) or to audit which integrations are wired up.

GET /webhooks

List webhook subscriptions

curl --request GET \
  --url 'https://api.sotion.so/api/v1/webhooks' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "data": [
    {
      "id": "<uuid>",
      "name": "<string>",
      "url": "<url>",
      "events": [
        "member.created"
      ],
      "active": true,
      "secretPrefix": "<string>",
      "managedBy": "<string>",
      "createdAt": "<date-time>",
      "updatedAt": "<date-time>"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "<uuid>"
  }
}

Paginated list of webhook subscriptions.

Authorizations

  • Authorization string required header

    Per-site API key (prefix: so_...). Each key is scoped to exactly one Sotion site — the site context is determined entirely by the key. No site ID is needed in any URL. Pass as: Authorization: Bearer so_...

Query Parameters

  • after string (uuid)

    Cursor for pagination. Pass the nextCursor value from a previous response to get the next page of results.

  • event string enum

    Filter to subscriptions that include this event type.

  • limit integer

    Number of items to return per page (1-100). Default: 50.

  • managedBy string

    Filter to subscriptions created by a specific external system. Common values: 'zapier'. Omit for all.

Response

application/json
  • X-RateLimit-Limit integer response header

    Maximum requests allowed in the current window.

  • X-RateLimit-Remaining integer response header

    Requests remaining in the current window.

  • X-RateLimit-Reset integer response header

    Unix timestamp (seconds) when the rate limit window resets.

  • X-Request-Id string (uuid) response header

    Unique request identifier for support and debugging.

  • data[] object array
    + Show Child Attributes
    • id string (uuid)

      Unique identifier for the webhook subscription.

    • name string

      Display name for the subscription. Auto-generated when not provided on create.

    • url string (uri)

      HTTPS delivery URL. Sotion POSTs signed event envelopes here.

    • events[] string enum arrayenum

      Event types this subscription receives. Event type that can be subscribed to. See the Webhook Events reference for payload shapes. 9 allowed enum values.

    • active boolean

      Whether the subscription is currently delivering events.

    • secretPrefix string

      First 10 characters of the signing secret, used to identify which secret an integration holds. The full secret is only returned on create.

    • managedBy string nullable

      External system that owns this subscription (e.g. 'zapier'). Null when user-managed via the dashboard.

    • createdAt string (date-time) nullable

      When the subscription was created.

    • updatedAt string (date-time) nullable

      When the subscription was last modified.

  • pagination object
    + Show Child Attributes
    • hasMore boolean

      True if there are more items after this page.

    • nextCursor string (uuid) nullable

      Pass this value as the 'after' query parameter to fetch the next page. Null when there are no more pages.