Inviting users to a project
Invitations let a project admin grant another user access to a project without having to set up the account and permission by hand. The admin creates an invitation that carries a target project and a permission level; when the invited user accepts, they are added to the project with exactly that permission.
Who can invite
Only a Project Admin of the project (or a Server Admin) can create invitations for it. Everyone else can read invitations they are involved in but cannot create them.
Two kinds of invitation
Targeted invitation
The invitation names a specific user. Only that user can accept it. Use this when the person already has an account on the server.
Open invitation
The invitation has no target user. Anyone who has the invitation can accept it. This is useful for sharing access through a link without knowing in advance which account will use it.
How it works
- Create. A project admin creates an invitation, choosing the project and the
permission to grant (for example, Read Only or Result Input — see
Permissions). The invitation starts in the
invitingstate. - Accept. The invited user accepts the invitation. They are added to the
project with the permission stored on the invitation, and the invitation moves
to the
acceptedstate.
Once an invitation has been accepted, it can no longer be accepted again.
Signing up through an invitation
An invitation can also be used to onboard a brand-new user. The signup link carries the invitation, and the new account is created as part of signing up. When the invitation was created with a designated user id, the new account is created with that pre-assigned id, so the account that signs up matches the one the invitation was prepared for.
An invitation can onboard at most one user. Once it has been used — either accepted, or already used to create its designated account — signing up through it again fails with a clear error instead of creating a duplicate or returning an opaque failure.
Signing up through an invitation is only possible when self-signup is enabled on the server.
Invitation status
| Status | Meaning |
|---|---|
inviting | The invitation has been created and is waiting to be accepted. |
accepted | The invitation was accepted; the user now has access. |
Accepting an invitation grants the permission recorded on it at creation time. To change a user's access afterwards, adjust their project permission directly.