Permission Denied State
The 403 that names the role, the owners who grant it, and the request flow.
The 403 that names the role, the owners who grant it, and the request flow.
The Application Collection unlocks the source for every Application block. All Access unlocks every Collection.
Already purchased? Log in
Permission Denied State is a full-page centered layout that routes instead of blocking. The heading names the exact missing role: you need the Admin role to view billing. Below it, the two owners who can grant it are listed by name with their avatars, AveryStone and PriyaNair with their acme.com emails and Owner badges. The request button says what happens on both sides: Avery and Priya each get one notification, not a daily reminder, and the requester gets an email either way, granted or declined, usually within a day.
Owners are one array from the shared avatar set. The button microcopy is doing real work: it eliminates the follow-up did my request go through question before it is asked.
Reach for this block as the destination for a 403 response on any protected page, wired to your roles endpoint so the owner list reflects the workspace the user is actually on. The request button should call your access request API and fire the notification to each owner in the list.
A natural flow around it on an Application Pro page:
Before
After
One strong use is the billing page 403. Other permission denied states:
Tip: name who gets notified and how often, one notification per owner removes the fear of spamming the team when hitting request.