Members
Who is in your Organization, how invites work, and what happens when someone leaves
A Member is an Account that belongs to your Organization. Members do the work: they create Events, price Passes, answer buyers, and scan people in.
Only people you invite can join. There is no public sign-up into an Organization, no join link anyone can guess, and no way to see an Organization you are not a member of.
Members and invites in one list
The member list shows two kinds of row, told apart by a status field.
| Row | Status | What it means |
|---|---|---|
| Member | active | A real Account, with a name, email, and the Roles they hold |
| Invite | pending | A contact that has been invited but has not accepted yet |
Both kinds share one paginated list, sorted newest first. Search matches a member's name, email, an invite's phone or email, or a Role key, which makes "who is an Event Manager?" a single query.
Pending invites carry the contact that was invited and the Role keys they will receive. Accepting or revoking one removes it from the list.
An expired invite keeps blocking a fresh invite to the same contact. It leaves the pending set only when someone revokes it, or when an accept attempt fails on it and the server marks it expired.
Inviting someone
Choose email or phone. Email is lowercased and trimmed. A phone number must be international format, starting with
+and a country code.Pick at least one Role. Role keys are required. An invite with no Role is rejected, because a member with no Role can open the workspace and do nothing.
Send the invite and keep the token. The response includes a single-use token, returned exactly once. Only its hash is stored, so it cannot be read back later.
They accept with the token. Accepting creates the membership if needed and grants the Role keys at Organization scope.
An invite lasts seven days. After that, accepting returns invite_expired and marks the row expired, which frees the contact.
Only one pending invite can exist per contact per Organization. A second attempt returns invite_exists; revoke the first one instead of sending another.
You can only grant what you already hold. If you try to invite someone as an Owner while you are an Event Manager, the request is refused with role_escalation rather than quietly granting more authority than you have.
What a member can do
Capabilities come from Roles, never from the invite itself. An accepted invite creates one Organization-scope assignment per Role key, so the member's authority starts the moment they accept.
Removing a Role later takes effect immediately. Removing a member revokes the membership and every assignment they hold in one transaction.
The member list shows only Organization-scope Role keys. Narrower grants, such as one Event, appear in the separate assignments list covered in Roles.
Removing a member
Removal requires the member-removal Capability. The member's row is revoked, their assignments are revoked, and their history stays: Orders they handled, Events they created, and audit entries they produced are untouched.
There is no special self-removal rule. Anyone holding the Capability can remove anyone, including themselves; the only guard is the Owner count.
- The last Owner cannot be removed. If removing someone would leave the Organization with no Owner, the request fails with
last_owner_required. - Cross-Organization IDs are invisible. A member ID from another Organization returns "not found", never a permission error.
A removed person keeps their Account. If they belong to another Organization, nothing changes there. If they are invited back later, they return as a new membership with whatever Roles the new invite carries.
Edge cases you will actually hit
| Situation | What happens |
|---|---|
| Invite sent to an existing member | Accepting adds the invited Role keys to their existing membership |
| Invite token reused | Rejected with invite_not_found; tokens are single use |
| Invite accepted after seven days | Rejected with invite_expired (HTTP 410); the row becomes expired |
| New invite to a contact whose invite expired | Refused with invite_exists until the expired row is revoked or an accept attempt expires it |
| Removing yourself while another Owner remains | Allowed, if you hold the member-removal Capability |
| Phone without a country code | Rejected as invalid at invite time |
| Email with trailing spaces or capitals | Normalized before storage, so it matches the same contact |
| Removing yourself as the only Owner | Refused; promote someone else first |
| A Role deleted after an invite was sent | The accept step skips the missing Role instead of failing |
Frequently asked
Can I change someone's Roles without removing them?
Yes. Grant or revoke individual Roles on the member. The change applies on their next request; no re-invite is needed.
Do invites send an email or a text message?
The invite records the contact and returns a one-time token. Your client decides how to deliver it, which is why the token is part of the response.
What happens to a member's work when they are removed?
Nothing is deleted. Events, Orders, and audit history keep the original actor, and the Organization keeps ownership of everything.
Related
- Roles — the Capability catalogue and scoped grants
- Organizations — the workspace itself
- Invite your team — the organizer walkthrough
- Capabilities — every permission name