Teams
Share a workspace with your colleagues and control who can send, manage, and configure it.
What a Team Is
A team is a workspace. It owns everything you create inside SMTPfast:
- Sending domains
- API keys
- Contacts and segments
- Suppressions
- Signup forms
- Broadcasts and the emails they send
- Delivery logs
A user can belong to several teams at once. The team switcher at the top of the sidebar picks which one you are working in, and the dashboard shows only that team's resources.
Roles
Every member of a team has one role. The role decides what they can do:
| Role | What they can do |
|---|---|
| Owner | Full control. Manage members and every resource, change other members' roles, handle billing, and delete the team. |
| Admin | Manage members and resources: invite and remove teammates, and work with domains, API keys, contacts, forms, and broadcasts. Cannot manage billing or delete the team. |
| Member | Use the team's resources to send and view. Cannot manage members, billing, or team settings. |
Inviting Members
Owners and Admins invite teammates from Settings, under the Team tab. Enter the person's email address and pick a role of Admin or Member. Ownership is not invited directly: you grant it by promoting an existing member.
The invitee gets a link and accepts it while signed in. They must use the address the invite was sent to, so a forwarded link cannot pull the wrong account into the team. If they do not have an account yet, they can register with the invited address and then accept.
- Invites expire 7 days after they are sent.
- Pending invites can be revoked at any time from the Team tab.
- Re-inviting the same address refreshes the role and sends a fresh link.
Switching Teams
The switcher sits at the top of the dashboard sidebar. Choosing a team re-scopes the whole dashboard: domains, keys, contacts, logs, and reports all reflect the team you selected. Existing single-team accounts do not need to touch it.
The same menu has a Create team option. Creating a team is a paid feature, and each plan includes a set number of teams. Free accounts keep their one personal team, and paid plans raise the limit.
Managing the Team with the API
Everything on the Members page is also an API, so you can add people from your own onboarding or offboarding scripts. The rules are the same as in the dashboard: owners and admins invite, remove and change roles, an admin cannot change an owner, and a team always keeps one owner. A key acts with its creator's role, so a key made by a member cannot invite anyone.
Listing needs team:read. Changes need team:manage. Neither is in the default set, so name them when you create the key. AI agents connected with OAuth can list members but can never hold team:manage.
/v1/team/membersEveryone on the team, oldest first. Any member can list.
Response
{
"object": "list",
"has_more": false,
"data": [
{
"object": "team_member",
"id": "mem_8f2c",
"user_id": "usr_41ab",
"email": "[email protected]",
"name": "Ana",
"role": "owner",
"can_manage_billing": true,
"created_at": "2026-09-01T10:00:00.000Z"
}
]
}/v1/team/members/{id}Change a member's role, their billing access, or both. Only an owner can change billing access. The member gets an email when their role changes.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| role | string | No | owner, admin or member |
| can_manage_billing | boolean | No | Let a non-owner manage billing. Owner only. |
/v1/team/members/{id}Remove someone from the team. Their API keys for this team are revoked at the same time. Team resources stay. You cannot remove yourself this way.
/v1/team/invitesInvitations that are not accepted and not expired. Owners and admins only.
/v1/team/invitesEmail an invitation link, valid for 7 days. The person signs in with the invited address to accept. Inviting the same address again sends a fresh link.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| string | Yes | The address to invite | |
| role | string | No | admin or member. Defaults to member. |
Request Body
{
"email": "[email protected]",
"role": "member"
}Response
{
"object": "team_invite",
"id": "inv_2d9e",
"email": "[email protected]",
"role": "member",
"expires_at": "2026-10-10T09:00:00.000Z"
}/v1/team/invites/{id}One pending invitation, in the same shape as the list. 404 once it is accepted, expired or revoked. Owners and admins only.
/v1/team/invites/{id}Revoke a pending invitation. The link stops working at once.
Billing and Isolation
Teams and collaboration are part of the paid plans. Each team is isolated: its API keys only work against its own resources, and sending, domains, and quotas are scoped to that team. Nothing is shared across other teams you belong to.