---
title: "Live stream of webhook events for the calling org (SSE)"
method: GET
path: "/webhooks/events"
tags: ["Webhooks"]
---

# Live stream of webhook events for the calling org (SSE)

`GET /webhooks/events`

## Request

- Base URL: `https://thesignup.app/api/v1`
- URL: `https://thesignup.app/api/v1/webhooks/events`
- Auth: HTTP bearer

Opens a Server-Sent Events stream that emits every webhook event the org generates while the connection is open. Best-effort and single-instance — receivers that need at-least-once delivery should register a real webhook endpoint (POST /v1/webhooks) instead; this stream is for development, debugging, and live-watch CLIs. Each event arrives as an SSE frame with `event: <type>` and a JSON `data:` body matching the WebhookEnvelope shape. Optional `?events=signup.created,signup.updated` filters to specific types; unknown values are dropped silently. The server emits SSE comments as a heartbeat every 15s. Vercel's serverless ceiling caps the stream at ~5 minutes; clients should reconnect.

## Query parameters

- `events` string: Comma-separated list of WebhookEventType values to filter on. Omit to receive every event type.

## Response `200`

Streaming response (text/event-stream). The connection stays open until the client disconnects or the serverless function reaches its time limit.

## Other responses

- `401`: Unauthenticated — credentials missing, malformed, invalid, or revoked
- `403`: Forbidden — credentials valid but lack the required scope
- `429`: Rate limited or daily ceiling exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/thesignup/apis/thesignup-api.md) · [All operations](https://skmtc.dev/thesignup/apis/thesignup-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thesignup/apis/thesignup-api/revisions/c6da7cf92172?raw)
