# Subscriptions

> The Subscriptions operations of the Hub REST API (2 operations).

URL: https://docs.synap.live/docs/reference/hub-api/subscriptions · Generated from Synap-core/backend@c31e261ab (main)

Paths are relative to `/api/hub` on a pod.

## GET /subscriptions

List the user-wide reactions (Pulse) feed

Returns the timestamp-sorted union of reactive events for the user. Each item is a ReactionEvent shell; call /subscriptions/{eventId}/fanout for its dense reactions[].

Parameters:

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `workspaceId` | query | string |  |  |
| `limit` | query | number |  |  |
| `kind` | query | "automation" \| "ai_feed" \| "ai_react" \| "notify" \| "webhook" \| "message_out" |  |  |
| `eventType` | query | string |  |  |
| `lens` | query | "all" \| "internal" \| "external" |  |  |

Responses:

- `200`: Pulse feed
- `403`: Forbidden
- `500`: Internal error

## GET /subscriptions/{eventId}/fanout

Get the reaction fan-out for one event

Returns a single ReactionEvent with its reactions[] populated from automation runs, webhook deliveries, notifications, and correlated downstream events.

Parameters:

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `eventId` | path | string | yes |  |
| `lens` | query | "all" \| "internal" \| "external" |  |  |

Responses:

- `200`: ReactionEvent
- `403`: Forbidden
- `404`: Not found
- `500`: Internal error
