Skip to content

How to invite team members

Inviting someone adds them to your organization with a chosen role. They get an emailed link, sign in (or sign up) with the address you invited, and land in your org with the right permissions.

RoleCan manage membersCan manage settingsCan run/edit testsCan view tests
OwnerYesYesYesYes
AdminYes (except other admins / owner)YesYesYes
MemberYesYes
ViewerYes

There’s exactly one Owner per org. Admins can promote/demote members and viewers but can’t touch other admins or the owner. The owner role isn’t assignable through the invite flow — it’s only created with the org and changed via ownership transfer (not yet exposed in the UI).

  1. Open Settings → Members

    The header shows your seat usage as N/Max seats so you can see how much room you have before sending an invite.

  2. Use the invite form at the bottom

    Enter the recipient’s email address and pick a role: Admin, Member, or Viewer.

  3. Send

    The invite is created with a 7-day expiry. The recipient gets an email with a sign-in link.

Only owners and admins can invite. Members and viewers see the list without the form.

The email contains a link to /invites/{token}. When they click it:

  1. If they don’t have an account, they’re sent to sign up with the invited email pre-filled.
  2. If they’re signed in with a different email, the accept call returns 403 — they need to sign in with the same address the invite was sent to.
  3. On accept, they’re added as a member of your org with the role you set.
  1. Find the row in Settings → Members.
  2. Click the role dropdown and pick a new one.
  3. The change is immediate.

Constraints the API enforces:

  • You can’t assign the Owner role.
  • The owner’s role itself can’t be changed through this flow.
  • An admin can’t change another admin’s role; only the owner can.
  • You can’t change your own role — ask another admin or the owner.

Click the row’s remove action. The API rejects:

  • Removing yourself (use Leave organization instead — see below).
  • Removing the owner (transfer ownership first).
  • An admin removing another admin (only the owner can).

Removing a member doesn’t delete the tests they wrote — those stay with the org.

If you’re not the owner, you can leave from your member row using the leave action (or the dedicated /leave endpoint). The owner needs to transfer ownership before they can leave.

If your org is at its seat cap and you try to invite or accept another member, the API returns 403 Organization seat limit reached ({max_members}). Two ways out:

The seat-compliance check also runs on downgrade — if you have 8 members and try to drop to a 5-seat tier, the downgrade is blocked with a 409 until you remove 3 members.

Every account has a personal org created at signup. Personal orgs can’t accept invites — you can only invite into team-style orgs. Create a new org from the org switcher if you don’t have one yet.