How CloudPulse Created a "Junior Billing Auditor" Role in 45 Seconds
A customer asked CloudPulse for a custom Junior Billing Auditor role that could view the Invoices and Refunds menus in the web app, create credit notes, but never delete an invoice or call DELETE /v1/invoices/{id} on the backend API.
In a traditional codebase, that request requires a frontend PR, a backend PR, QA regression testing, and a production deployment. With SSO.ID v2, CloudPulse's product manager opened /role-management, created the Junior Billing Auditor role, checked View on the Invoices menu node (PUT /api/roles/{roleId}/applications/{appId}/menu-access), and unchecked DELETE /v1/invoices/{id} in the API Permissions tab (PUT /api/roles/{roleId}/applications/{appId}/api-access). Both the Angular UI and .NET API enforced the new rule immediately.