List notifications
List a company's notifications, newest first, paginated. Notifications are what the app shows in its bell menu: bank connection failures, subscription changes, balance mismatches, and similar events. With no `recipientUserId` the result spans every recipient in the company. Passing another user's id requires `users:manage`; without it the response is an empty page rather than a 403. Filter with `types`, and narrow subscription-change rows further with `eventType`. `totalCount` is the unpaginated total for the active filter. `earliestCreatedTime` deliberately ignores the filter so a date picker can anchor to the real start of history, and it is only computed on the first page (`offset=0`), returning null on later pages.
Authentication
sf_… API key in the bearerAuth field below.A SaaSFlow API key (format sf_…) or an OAuth bearer token. Paste only the key — the proxy adds the Bearer prefix. Create an API key in Settings → Company settings → API keys — see API keys.
In: header
Path Parameters
1 <= lengthQuery Parameters
Comma-separated notification types to return, e.g. "bankConnectionError,subscriptionChange". Omit to return all types.
For subscriptionChange notifications, return only this MRR event type: new, upgrade, downgrade, cancel, or reactivate.
Return notifications created on or after this date (YYYY-MM-DD).
^\d{4}-\d{2}-\d{2}$Return notifications created on or before this date (YYYY-MM-DD).
^\d{4}-\d{2}-\d{2}$Response Body
application/json
curl -X GET "https://example.com/companies/string/notifications"{ "items": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "companyId": "8bb73d03-06b4-47c7-80c7-59301f770eda", "type": "string", "recipientUserId": "string", "readTime": "2019-08-24T14:15:22Z", "payload": { "property1": null, "property2": null }, "createdTime": "2019-08-24T14:15:22Z", "createdUserId": "string", "lastUpdatedTime": "2019-08-24T14:15:22Z", "lastUpdatedUserId": "string" } ], "totalCount": 0, "entities": { "customers": { "property1": { "name": "string", "domains": [ "string" ], "logoUrl": "string" }, "property2": { "name": "string", "domains": [ "string" ], "logoUrl": "string" } } }, "earliestCreatedTime": "string"}Unlike
Remove the calling user from a comment's likes. Idempotent: unliking a comment the user never liked is a no-op that still returns success.
Create notification
Create a notification and return the created row. Most notifications are raised by SaaSFlow itself; use this when your own workflow needs to put something in a user's bell menu. `recipientUserId` is required, and addressing anyone other than the calling user needs cross-user rights, otherwise the request is refused with 403.