Skip to main content

Permissions & Security Configuration

This page describes the API endpoints for user and role permissions as well as domain management.

Warning

These endpoints require administrator rights. Changes take effect immediately for all users in the organization. Incorrect permission changes — e.g. removing PermissionsAdministrate from all users — can permanently lock you and all other administrators out, with no way to restore access via the API.


UserPermission

The UserPermission entity defines the permissions for individual users. Each entry contains a list of permissions for various areas. User permissions apply to the entire account or to specific divisions. In the latter case, DivisionIds are set.

Data Model

PropertyTypeDescription
IdguidUnique ID.
UserPermissionIdguidPermission ID.
ContactIdsguid[]?List of associated contact IDs.
DivisionIdsguid[]?List of associated division IDs, if the permission is restricted to a division.
ReadOnlyLicenseboolRead-Only license.
PermissionsAdministrateboolFull administrator access.
PATAccessboolCreate and use Personal Access Tokens.
ProjectReadboolView projects.
ProjectModifyboolEdit projects.
ProjectCreateboolCreate projects.
ProjectDeleteboolDelete projects.
ProjectLockboolLock projects.
ProjectMemberModifyboolManage project members.
ProjectPriorityModifyboolChange project priority.
ProjectRequestCreateboolCreate project requests.
ProjectRequestReleaseboolApprove or reject project requests.
TaskItemAccessboolView tasks.
TaskItemModifyboolEdit tasks.
TaskItemDeleteboolDelete tasks.
TaskItemStateModifyboolChange task status.
TaskItemCommentAddboolAdd comments to tasks.
TaskItemCommentDeleteboolDelete task comments.
TaskItemProjectFieldsCreateboolCreate project-defined fields for tasks.
OwnTaskItemAccessboolView own tasks only.
OwnTaskItemModifyboolEdit own tasks only.
OwnTaskItemDeleteboolDelete own tasks only.
OwnTaskItemStateModifyboolChange status of own tasks only.
OwnTaskItemCommentDeleteboolDelete own task comments only.
PrivateTasksCreateboolCreate private tasks.
TimeEntryAccessboolView all time entries.
TimeEntryModifyboolEdit all time entries.
UserTimeEntryAccessboolView own time entries.
UserTimeEntryModifyboolEdit own time entries.
DocumentAccessboolView documents.
DocumentModifyboolEdit documents.
BudgetAccessboolView budgets.
BudgetModifyboolEdit budgets.
PlanningAccessboolView planning.
PlanningModifyboolEdit planning.
MindMapAccessboolView mind maps.
MindMapModifyboolEdit mind maps.
CheckListAccessboolView lists.
CheckListModifyboolEdit lists.
ManageAccessboolView manage tab.
ManageModifyboolEdit manage tab.
RiskAccessboolView risks.
RiskModifyboolEdit risks.
AssessmentAccessboolView project assessments.
AssessmentModifyboolEdit project assessments.
NoteAccessboolView comments.
AddNoteboolAdd comments.
DeleteNoteboolDelete comments.
DeleteUserNoteboolDelete own comments only.
ReportReadboolView reports.
ReportModifyboolEdit reports.
ResourceAllocationReadboolView workload.
DashboardsAccessboolView dashboards.
DashboardsModifyboolEdit dashboards.
ProjectDashboardAccessboolView project dashboards.
ProjectDashboardModifyboolEdit project dashboards.
PortfoliosModifyboolEdit portfolios.
ContactsModifyboolEdit contacts.
ShowContactsSectionboolShow contacts section in the navigation.
ShowAllContactsInProjectsboolShow all contacts when adding project members.

Endpoints

List all user permissions

GET/odata/UserPermission

Supports OData query options.

info

This endpoint is disabled by default. Contact InLoox Support if you need help enabling it.


Create new user permissions

POST/odata/UserPermission
ParameterTypeRequiredDescription
BodyDelta<ApiUserPermission>JSON object with the permission properties.

Functions

Get the current user's permissions

GET/odata/UserPermission/MyGlobalUserPermissionSet()
tip

Use this endpoint to check at runtime which actions are available to the current user.


OData Query Examples

GET /odata/UserPermission/MyGlobalUserPermissionSet()
POST /odata/UserPermission
Content-Type: application/json

{
"ContactIds": ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"],
"ProjectRead": true,
"ProjectModify": true,
"ProjectCreate": true,
"TaskItemAccess": true,
"TaskItemModify": true,
"TimeEntryAccess": true,
"TimeEntryModify": true,
"ReadOnlyLicense": false
}

RolePermission

The RolePermission entity defines the default permissions for each role. It shares the same permission fields as UserPermission, plus these role-specific configuration fields:

Data Model

PropertyTypeDescription
RoleTypeintRole type identifier.
RoleEnabledboolWhether the role is enabled.
CustomNamestring?Custom role name. Only available in InLoox Enterprise Plus and InLoox Self-Hosted.
info

The GET /odata/RolePermission endpoint returns the full set of permission fields (as in UserPermission above) for each role. The PATCH endpoint accepts the same permission booleans as well as the role-specific fields listed here.

Endpoints

List all role permissions

GET/odata/RolePermission

Supports OData query options.


Update a role permission

PATCH/odata/RolePermission({key})
ParameterTypeRequiredDescription
keyguidThe ID of the role permission to update.
BodyDelta<ApiRolePermission>JSON object with the role permission properties.
Warning

Changes to role permissions take effect immediately for all users assigned to that role. Disabling a role or removing critical permissions can lock out entire user groups.

ValidInviteDomain

The ValidInviteDomain entity manages the allowed domains for user invitations. Only email addresses with a domain listed here can be invited.

Data Model

PropertyTypeDescription
ValidInviteDomainIdguidUnique domain ID.
DomainNamestringThe domain name (e.g. example.com).

Endpoints

List all allowed invite domains

GET/odata/ValidInviteDomain

Supports OData query options.


Get an invite domain by ID

GET/odata/ValidInviteDomain({key})
ParameterTypeRequiredDescription
keyguidThe ValidInviteDomainId.

Add a new invite domain

POST/odata/ValidInviteDomain
ParameterTypeRequiredDescription
BodyDelta<ApiValidInviteDomain>JSON object with the domain properties.

Update an invite domain

PATCH/odata/ValidInviteDomain({key})
ParameterTypeRequiredDescription
keyguidThe ValidInviteDomainId.
BodyDelta<ApiValidInviteDomain>JSON object with the domain properties.

Delete an invite domain

DELETE/odata/ValidInviteDomain({key})
ParameterTypeRequiredDescription
keyguidThe ValidInviteDomainId.
warning

Deleting an invite domain prevents new users with that domain from being invited. This action cannot be undone.

Returns 204 No Content on success.


ValidLoginDomain

The ValidLoginDomain entity manages the allowed domains for user login via Microsoft 365. Only users with an email address in one of these domains can sign in, if the domain login policy for Microsoft 365 is active.

Data Model

PropertyTypeDescription
ValidLoginDomainIdguidUnique domain ID.
DomainNamestringThe domain name (e.g. company.com).

Endpoints

List all allowed Microsoft 365 login domains

GET/odata/ValidLoginDomain

Supports OData query options.


Get a Microsoft 365 login domain by ID

GET/odata/ValidLoginDomain({key})
ParameterTypeRequiredDescription
keyguidThe ValidLoginDomainId.

Add a new Microsoft 365 login domain

POST/odata/ValidLoginDomain
ParameterTypeRequiredDescription
BodyDelta<ApiValidLoginDomain>JSON object with the domain properties.

Update a login domain

PATCH/odata/ValidLoginDomain({key})
ParameterTypeRequiredDescription
keyguidThe ValidLoginDomainId.
BodyDelta<ApiValidLoginDomain>JSON object with the domain properties.

Delete a login domain

DELETE/odata/ValidLoginDomain({key})
ParameterTypeRequiredDescription
keyguidThe ValidLoginDomainId.
warning

Deleting a login domain prevents new users with that domain from signing in.

Returns 204 No Content on success.