On this page

Administration

Members and roles

People join an organization by being invited, and the role they hold decides what they can reach. You need an administrator to invite anyone; only an organization administrator manages roles.

  1. Open Settings, then Users (/settings/users), and choose Invite users.
  2. Enter a name, email and role. A Department Admin needs a department and a Project Admin a project.
  3. Send the invitation. The invitee follows the emailed link, signs up and gets the role from the invitation. If mail fails, use Resend or Copy link.
  4. To change someone later, use their row on the Users screen: role, departments or projects they administer, projects they belong to, or suspend.
  5. To tune or add a role, open Settings, then Roles (/settings/roles).

Limits

LimitBehavior
Existing email409: that email already belongs to a member.
Scoped roledept_admin needs a department and project_admin a project, or the invitation is refused.
Your own authorityYou cannot invite or grant a role above your own, or change your own role or suspension.
Last ownerCannot be demoted.
RolesOrganization administrators only. A duplicate name is 409; deleting a role people hold is 409.
More details

Create the departments and projects first if the invitee needs one.

How it works

  1. An administrator invites a name, an email, a role and, for a scoped role, a department or project.
  2. The invitee follows the emailed link, which carries the key and their email, and signs up with the form filled in.
  3. Signup joins your organization because the key is bound to it and the email is on its allow-list.
  4. The invitation's role and scope apply from the first sign-in, and the access the role implies is created at that moment.

The four roles

Settings, then Roles (/settings/roles). Every person should hold exactly one.

RoleWhat it is forConfigurable?
Org AdminFull administrative access across the organizationNo
Department AdminDepartment-scoped operator and administrator, with complete access to their department's projects and dataYes
Project AdminProject-scoped operator and administrator, with complete access to their project's dataYes
MemberBasic agent operator, Simple mode only; runs agents and process flows rather than authoring themYes

Org Admin is deliberately not configurable: it is the tier that must always be able to fix anything, including a misconfigured role, so there is nothing to edit or delete.

The shipped default reach of each role, over the application areas and the main capabilities:

AreaOrg AdminDepartment AdminProject AdminMember
WorkspaceYesYesYesYes
ConnectYesYesYesYes
Context GraphYesYesYesRead-only
OrchestrateYesYesYesNo
ActionsYesYesYesNo
SimulateYesYesYesNo
DataYesYesYesNo
InsightsYesYesYesNo
GovernanceYesYesNoNo
SettingsYesNoNoNo
Manage rolesYesNoNoNo
Curate the context graphYesYesYesNo
Build intelligenceYesYesNoNo
BillingOwner tier onlyNoNoNo

A member's Context Graph access is read-only and scoped: they see the viewer, not the curation tools, and what appears is filtered on the server against the data they are cleared for, not in the browser, which is why exposing the area to them is safe.

A member can read, run, simulate and test a process flow and watch the run, but cannot write one or reconfigure an agent. Their ability to retrieve and ingest data is granted to their agent through its credential's scope.

Who may createOrg Admin (and owner)Department AdminProject AdminMember
A departmentYesNoNoNo
A projectYesYes, in a department they administerNoNo

A department administrator has complete authority inside their department, including projects created later, its people and its scopes, but cannot add to the organization's structure. Both refusals are 403 from identity, not only a hidden button.

Invite someone

Settings, then Users (/settings/users), then Invite users. The form posts to POST /settings/users/invite and collects a name, email, role and, depending on the role, a department or project. These checks run first:

  1. The email must not already be in the organization. 409 "That email already belongs to a member of this organization." Inviting them again would send them to a signup page that rejects their address.
  2. The role must exist. 400 Unknown role "…". Shipped and custom roles are both accepted.
  3. A scoped role must carry its scope. dept_admin needs a department and project_admin a project, or the invitation is refused rather than created broken. The scope must belong to your organization.
  4. You cannot invite above your own authority. A department or project administrator cannot invite an organization administrator.

Inviting an address twice updates the pending invitation in place with the new name, role and scope, and resets its date.

The invitation appears in the Users list as Invited. Resend (POST /settings/invites/resend) re-sends it and resets its date. Copy link gives you the link if mail delivery fails; a delivery failure is reported rather than swallowed, and the record is kept either way.

What the invitee sees

The link is /signup?accessKey=…&email=….

  1. The signup page greets them by name and names the organization and role, from GET /users/invite-preview?accessKey=…&email=…. A revoked invitation or mismatched pair returns 404 "This invitation is not valid or has been revoked." without saying which half was wrong.
  2. They fill in the ordinary form, never handling the raw key.
  3. Signup joins your organization only if the key is bound to it and their email is on the allow-list; the key alone is refused with "This access key is registered to an org which this email hasn't been invited to".
  4. Role and scope come from the invitation, not a default (without it they would land as a plain member), and the pending invitation is marked accepted. An invited organization administrator not provisioned this way would see no projects.
  5. They are signed in immediately. Email verification is skipped and the account is created active. They land on the first-run screens in getting started.

Manage someone already in

All of these are on the Users screen.

ActionEndpointNotes
Change their rolePUT /settings/users/{id}/roleOptionally moves them to a department at the same time
Which departments they administerPUT /settings/users/{id}/dept-adminA list, set several at once
Which projects they administerPUT /settings/users/{id}/project-adminA list
Which projects they belong toPUT /settings/users/{id}/project-membershipsIndependent of administering
Suspend themPOST /settings/users/{id}/suspend

Administering and belonging are separate lists: a person can belong to six projects and administer one, and neither is inferred from the other. One person can administer three departments and two projects. A scoped role without its scope has nothing to administer.

The screen also maps the identities a person signs in with at connected systems to their Wexa account, and can mark an entry as a service account. Their data follows the mapping from the next query onwards.

  • You cannot administer yourself, neither your own role nor your own suspension. The controls are hidden on your row and the server refuses regardless.
  • You cannot grant a role above your own.
  • You see only the people you can administer. A department administrator sees their department's people and a project administrator their project's, plus your own row. Only organization administrators see the organization and pending invitations.

Tune or add a role

Only organization administrators may; every role endpoint otherwise answers 403 "Only a super admin or org admin can manage roles." and a department administrator never sees the Roles screen.

  • Tune a shipped role. PUT /settings/roles/builtin/{key} stores a per-organization override of its capabilities and scopes. Name and key are fixed; Org Admin is never overridable.
  • Add a role. POST /settings/roles with a name, optional description, capability list and scope set. The name may not collide with a shipped role, and a duplicate is 409 "A role with that name already exists."
  • Delete a role. Custom roles only. Deleting one people hold is 409 "N users are assigned this role — reassign them before deleting."

A role also carries a scope set (modules, connectors, models, entity types, actions and a sensitive-data clearance). It composes like a department's: restrict-only, bounded by the department and project, never wider. See departments and projects.

Limits and behavior

TopicBehavior
Last ownerEvery organization keeps at least one owner who cannot be demoted; the role change that would remove the last is refused.
Owner tierA fifth role, functionally identical to Org Admin, never offered when assigning; it exists so an organization always keeps an administrator who cannot be demoted. It folds into Org Admin wherever displayed or counted.
Two older rolesA governance-centric one and a full-navigation one without analytics or billing. They still work for accounts that hold them but are not offered; give new people one of the four.

The role names at the API

The gateway's constants are OWNER, ORG_ADMIN, ORG_MEMBER, PROJECT_ADMIN and PROJECT_MEMBER, uppercase and rejected in any other spelling. Where an endpoint requires an administrator it means OWNER, ORG_ADMIN or PROJECT_ADMIN.

  • Issuing a credential. POST /v1/apikeys refuses a non-administrator with 403 "API key creation requires an admin role on this project".
  • Default permissions. An administrator's key requesting none gets the administrator default set, covering the whole tool surface. Any other role, and any role the gateway does not recognise, falls closed to reading the context graph and the documentation. Explicit permissions always win. See credential management.

Deciding an approval over REST uses the same definition, within the administrator's own scope. In the console, who may decide depends on the approval and the requester; see approvals.