Skip to content

Structure and roles

By the end of this page you will be able to:

  1. build your organization’s structure out of units;
  2. pick a role for each person;
  3. predict which actions the server allows for that role and which it refuses.

Example: at Northwind, Anna is head of the Backend unit, Ben is a member of that unit, Vera is a contractor, Grace from internal control is an auditor, and the founder David is the admin.

The structure is a tree. Its root is created together with the organization: a “Legal entity” node carrying the organization’s name.

Type in the accountAPI value
Holdingholding
Legal entitylegal_entity
Branchbranch
Departmentdepartment
Unitunit
Teamteam

Tree rules the server enforces:

  • only the admin changes the structure;
  • names are 1 to 120 characters;
  • the root cannot be moved or deleted;
  • a node cannot be moved inside itself (“A unit cannot be moved inside itself.”);
  • only an empty node can be deleted: remove nested units first, then move the people out.
Northwind (Legal entity) ← root, admin David
└── Engineering (Department)
├── Backend (Unit) ← head Anna
│ ├── Ben (member)
│ └── Vera (contractor, 60 days)
└── Platform (Team)
Grace (auditor) is attached to the root
  1. Switch to the organization and open the Structure tab.

  2. In “Add unit”, choose the parent node, the type and a name, then click “Create”.

  3. Use the buttons next to a node to rename or delete it.

Every person in the organization is attached to one node of the tree and has one role. Both are set in the invitation; later the admin can change them on the People tab.

RoleAPI valueIn short
Adminorg_adminRuns the organization
Headunit_headSees their subtree and can offboard people in it
MembermemberWorks with memory
ContractorcontractorOnly own and project records, time-limited access
AuditorauditorAudit log without memory content
ActionAdminHeadMemberContractorAuditor
View the structureyesyesyesyesyes
Change the structureyes————
People listeveryoneown subtree and selfself onlyself onlyself only
Invite; change role, node and access termyes————
Issue a key for themselvesyesyesyesyes—
See keysevery key in the organization (no secrets)ownownown—
Revoke keysanyownownown—
Offboard with knowledge handoveranyone but themselvespeople in the subtree they head, except admins———
Read and write recordsyesyesyesown and project only—
Audit logyes———yes
Plan and seatsyes————

What each role reads:

  • Admin, head, member — their own records, organization-wide records, project records, and “unit” records of their own node and the nodes above it. The admin and heads also see “unit” records anywhere in the subtree they head. Nobody, the admin included, sees the drafts (“author only”) of other people who still work there.
  • Contractor — only their own records and records with “project” visibility. Their new records get “project” visibility straight away.
  • Auditor — no records at all. An auditor cannot issue a key (auditor_has_no_keys) and cannot write to memory; the audit log is what they get.
CodeWhenWhat to do
org_admin_requiredThe action is admin-onlyAsk the admin
not_allowed_to_offboardA head tries to offboard someone outside their subtree, or an adminThe admin offboards
last_adminDemoting or offboarding the last adminAppoint a second admin first
node_has_children, node_has_membersDeleting a non-empty nodeMove or delete what is inside
access_expiredThe person’s access term has endedThe admin extends it

The full list is in Errors.