Skip to main content

Overview

ORCA uses a layered permission system to control access across your organisation. Every user belongs to an organisation and can be assigned to one or more teams, each with its own permission set. Admins have full access by default; non-admin users inherit permissions from their custom role, team memberships, and individual overrides.

Role hierarchy

ORCA has two built-in system roles and supports custom roles for fine-grained control. System roles cannot be edited or deleted. Custom roles are org-scoped and can be created, updated, and deleted by admins.

Permission resolution order

When ORCA evaluates whether a user can perform an action, it checks in this order:
  1. Admin role — always granted
  2. Explicit user permission — per-user override (if set)
  3. Custom role — permissions from the user’s assigned custom role
  4. Team permissions — if any team the user belongs to grants the permission
  5. Default — falls back to the hardcoded default (typically false)

Default permissions

Team permissions

Teams have their own permission toggles that apply to all members. These are separate from the global permissions above and control team-specific behavior.

Creating teams

Teams group users within your organisation. All team management requires admin access.
1

Navigate to Settings

Go to Settings > Teams in the web application.
2

Create a team

Click Create team and enter a name. Team names must be unique within your organisation.
3

Add members

Select users from your organisation to add to the team. Users can belong to multiple teams.
4

Configure permissions

Toggle the team permission switches to control what members can do.

Managing custom roles

Custom roles let you define reusable permission sets that can be assigned to individual users.
1

Create a role

Go to Settings > Roles and click Create role. Give it a name and optional description.
2

Set permissions

Toggle individual permissions on or off. Unset permissions fall back to the system default.
3

Assign to users

Assign the custom role to users. A user can have one custom role at a time.
You cannot delete a custom role while users are assigned to it. Reassign those users to a different role first.

Job visibility

Job access follows these rules:
  1. Admins can see all jobs in the organisation.
  2. Job creators can always see their own jobs.
  3. Users with can_view_all_jobs can see every job.
  4. Team members can see each other’s jobs if the team has can_view_team_jobs enabled.
If none of these conditions apply, the user cannot see the job.

API reference

All team and role endpoints require admin authentication. Base path: /api/v1.

Teams

Roles

Example: create a team and set permissions