Subscriptions

Subscribe or unsubscribe from tables and records to control which notifications you receive. Subscribing to a table sends you notifications for all activity on that table. Subscribing to a record sends you notifications for that specific record.

All endpoints require the caller to be a member of the table's workspace. Read-only members can subscribe.

Subscribe to a table

POST /api/subscriptions/<table_id>/subscribe
Field Type Notes
force bool If true, no-op when already subscribed instead of returning an error

Returns {"ok": true, "subscribed": true}.

Unsubscribe from a table

POST /api/subscriptions/<table_id>/unsubscribe
Field Type Notes
force bool If true, no-op when not subscribed instead of returning an error

Returns {"ok": true, "subscribed": false}.

Subscribe to a record

POST /api/subscriptions/<table_id>/<record_id>/subscribe
Field Type Notes
force bool If true, no-op when already subscribed instead of returning an error

Returns {"ok": true, "subscribed": true}.

Unsubscribe from a record

POST /api/subscriptions/<table_id>/<record_id>/unsubscribe
Field Type Notes
force bool If true, no-op when not subscribed instead of returning an error

Returns {"ok": true, "subscribed": false}.

Check subscription status

POST /api/subscriptions/<table_id>/status
Field Type Notes
record_id int Optional — also check record-level subscription

Returns:

{
  "table": true,
  "record": false
}

Force flag

By default, subscribing when already subscribed (or unsubscribing when not subscribed) returns an error. Pass "force": true to make the call idempotent — it succeeds silently when already in the target state. This is useful for integrations that want to ensure a subscription exists without tracking current state.