Roles & Access Control
The Nexudus REST API uses a role-based access control (RBAC) system to determine what each authenticated user can do. Understanding how roles are structured is essential for building integrations that create or manage admin users.The Three Layers
Access control in Nexudus is made up of three parts that work together:UserRoles (security/userroles)
Named groups that bundle one or more Roles together, defined per location.
Roles
Roles are read-only system records. They are created automatically by Nexudus whenever a new entity is added to the platform, and they follow a strict naming convention. Every entity in the system has exactly five roles associated with it:| Suffix | Permission granted |
|---|---|
{EntityName}-List | Search and list records |
{EntityName}-Read | Retrieve a single record by ID |
{EntityName}-Edit | Update existing records |
{EntityName}-Create | Create new records |
{EntityName}-Delete | Delete records |
Booking entity has the following roles: Booking-List, Booking-Read, Booking-Edit, Booking-Create, and Booking-Delete.
The full list of available roles can be retrieved at any time from the API:
Roles cannot be created, modified, or deleted via the API. They are managed entirely by the platform.
UserRoles
A UserRole is a named permission group that collects one or more Roles and can be assigned to users. You create and manage UserRoles yourself to match the access profiles needed in your organisation (e.g. Receptionist, Community Manager, Finance Admin).- A name that describes the access profile.
- A Business (location) it belongs to.
- A collection of Roles that define what a user assigned to this group can do.
UserRoles are scoped to a location (
Business), but the permissions they grant are network-wide — see the section on cross-location access below.Assigning UserRoles to Users
Once a UserRole has been defined, it is assigned to a user (staff account). A user can hold multiple UserRoles, and their effective permissions are the union of all roles contained in every UserRole assigned to them. Permissions are the same regardless of which location the user is viewing. A staff member withBooking-Edit can edit bookings in every location they have been connected to (User.Businesses); there is no way to grant Booking-Edit only for a specific location.
Endpoint Authentication Requirements
Every endpoint documents its minimum role requirement in the Authentication section. For example:
The authenticated user must be a full unrestricted administrator or have the Booking-List role.
The pattern is consistent across the entire API:
| HTTP method | Required role pattern |
|---|---|
GET (list / search) | {EntityName}-List |
GET (single record) | {EntityName}-Read |
POST | {EntityName}-Create |
PUT | {EntityName}-Edit |
DELETE | {EntityName}-Delete |
401 Unauthorized response when calling these endpoints.
Cross-Location Access
Users are connected to one or more locations viaUser.Businesses. Their permissions apply uniformly across all connected locations — it is not possible to grant different roles per location.
The Customer (Coworker) Exception
Access to customer records (spaces/coworkers) has additional location-based scoping on top of the standard role checks:
- A user with
Coworker-Listcan search and view customers across every location in their network. - A user with
Coworker-Editcan only modify a customer if their account is specifically connected to that customer’s Home Location (Coworker.InvoicingBusiness).
Practical Example: Setting Up a Receptionist Role
The following steps show how to create a UserRole for a receptionist who can view and create bookings, and view (but not edit) customers. 1. Identify the required rolesRelated Endpoints
Search Roles
Retrieve the full list of system-defined roles.
Search UserRoles
List and manage UserRole permission groups.
Create UserRole
Create a new UserRole and assign roles to it.
Update UserRole
Modify an existing UserRole.