Back to changelog
shipped

Workspace invites end-to-end, billing past-due handling, and API rate limits

The workspace invite flow is finally end-to-end — new signups join via migration trigger, existing customers click an invite link, sign in, and get moved into the inviting workspace. Stripe payment_failed now flips workspaces to past_due with banner + email. The public API has hourly per-plan rate limits.

Details

  • Workspace invite flow finished end-to-end: brand-new signups join via the migration trigger; existing customers click an invite link, sign in, and get moved into the inviting workspace via /api/auth/accept-invite
  • Stripe payment_failed handling: workspace.billing_status flips to past_due, owner gets an email, dashboard shows a billing banner
  • Hourly enrichment quota on the public REST API (plan-tier caps + 429 with Retry-After)
  • /privacy and /terms pages
  • Route-level loading skeletons for /dashboard/cases, /alerts, /inbox, /intelligence

Want this in your inbox?

Subscribe to the changelog RSS feed or follow the team via the marketing newsletter.

Start free trial