Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.aspfox.com/llms.txt

Use this file to discover all available pages before exploring further.

AspFox creates notifications automatically from backend events. Notifications are tenant-scoped — a user only sees notifications for their currently active tenant.

Notification type reference

TypeTitleWhen createdWho receives itAction URL
MemberInvitedInvitation sentInviteMemberCommand succeedsTenant owner only/settings/members
MemberJoinedNew member joinedAcceptInvitationCommand succeedsAll tenant members/settings/members
MemberRemovedMember removedRemoveMemberCommand succeedsThe removed user onlyNone
OwnershipTransferredOwnership transferredTransferOwnershipCommand succeedsNew owner and former ownerNone
SubscriptionUpgradedSubscription activatedcheckout.session.completed webhookAll tenant membersNone
SubscriptionCanceledSubscription cancelingcustomer.subscription.updated webhook (cancel_at_period_end=true)Tenant owner onlyNone
SubscriptionPastDuePayment failedinvoice.payment_failed webhookTenant owner only/billing
SubscriptionTrialExpiringTrial ending soonTrialExpiryJob (7-day and 1-day warnings)Tenant owner only/billing
PaymentRecoveredPayment successfulinvoice.payment_succeeded webhook when previous status was PastDueTenant owner onlyNone

Who receives each notification

Tenant owner only — notifications that require action from the owner, or that contain billing information the owner needs to act on. MemberInvited, SubscriptionCanceled, SubscriptionPastDue, SubscriptionTrialExpiring, PaymentRecovered. All tenant members — notifications about workspace activity that is relevant to everyone. MemberJoined, SubscriptionUpgraded. Specific user only — notifications targeted at a single individual. MemberRemoved goes to the member who was removed. OwnershipTransferred goes to both the new owner and the former owner.

Notification payload

Each notification in the API response includes:
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "type": "SubscriptionPastDue",
  "title": "Payment failed",
  "message": "Your Pro subscription payment failed. Please update your payment method.",
  "isRead": false,
  "actionUrl": "/billing",
  "createdAt": "2025-05-01T09:00:00Z"
}
actionUrl is null for notification types that do not have one. The frontend renders a clickable link when actionUrl is present.

How to add a notification type

See Notification System → How to add a new notification for the step-by-step guide.