Supabase Realtime Subscription Service
API Contract
REST
/api/v1/notification-subscriptions
5 endpoints
GET
/api/v1/notification-subscriptions/api/v1/notification-subscriptions
List all active realtime subscriptions
Public
Response Example
{
"data": [
{
"id": "sub_realtime_001",
"user_id": "user_xyz789",
"channel": "notifications:user_xyz789",
"is_connected": true,
"subscribed_at": "2026-03-26T08:00:00Z",
"last_event_at": "2026-03-26T09:15:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1
}
}
GET
/api/v1/notification-subscriptions/api/v1/notification-subscriptions/:id
Get status and details of a specific subscription
Public
Response Example
{
"id": "sub_realtime_001",
"user_id": "user_xyz789",
"channel": "notifications:user_xyz789",
"is_connected": true,
"subscribed_at": "2026-03-26T08:00:00Z",
"last_event_at": "2026-03-26T09:15:00Z",
"events_received": 5,
"reconnect_count": 0
}
POST
/api/v1/notification-subscriptions/api/v1/notification-subscriptions
Create a new realtime subscription for a user
Public
Request Example
{
"user_id": "user_xyz789",
"channel": "notifications:user_xyz789"
}
Response Example
{
"id": "sub_realtime_002",
"user_id": "user_xyz789",
"channel": "notifications:user_xyz789",
"is_connected": true,
"subscribed_at": "2026-03-26T10:45:00Z",
"last_event_at": null,
"events_received": 0,
"reconnect_count": 0
}
PUT
/api/v1/notification-subscriptions/api/v1/notification-subscriptions/:id
Update subscription state (e.g. trigger reconnect or pause)
Public
Request Example
{
"action": "reconnect"
}
Response Example
{
"id": "sub_realtime_001",
"user_id": "user_xyz789",
"channel": "notifications:user_xyz789",
"is_connected": true,
"reconnect_count": 1,
"reconnected_at": "2026-03-26T11:05:00Z"
}
DELETE
/api/v1/notification-subscriptions/api/v1/notification-subscriptions/:id
Unsubscribe and remove a realtime subscription
Public
Response Example
{
"success": true,
"deleted_id": "sub_realtime_001",
"unsubscribed_at": "2026-03-26T12:00:00Z"
}