Skip to Content

Members

Invite teammates with a role and a personal mailbox, and restrict a customer's staff to the resources in one namespace.

Invite teammates by email from Settings → Team. Choose their role and personal mailbox address, then choose Whole organization or one namespace. An organization owner or admin manages invitations and members. Each teammate signs in as themselves.

Choose a role and scope

A role controls what a person can do. Their namespace controls which resources they can reach.

  • Member uses the resources their role permits.
  • Admin administers resources their role permits.
  • Mail user uses Mail with their mailbox access. Mail user is a permission role; switching presentation modes does not change permissions.

A member restricted to a namespace receives their role's permissions only on namespace-aware resources. They cannot open billing, team management, organization settings, or the organization manager. The organization switcher shows Organization · Namespace, and the dashboard identifies their namespace. Changing the URL cannot expand their access.

An unrestricted member's role applies across the organization. Invite organization administrators without a namespace when they need to manage billing or people.

Give a restricted member a personal address

Add an email domain to the namespace or share an organization domain before inviting its staff. Their personal mailbox belongs to that namespace and uses an address on one of those domains. If no usable domain exists, the invitation is refused with a request to add a domain to the namespace. It never creates an organization-level mailbox instead.

The personal mailbox sends with the namespace's sending health and suppression rules. Its keys and OAuth connections can reach it when their mailbox permissions allow it. The mailbox API lists only mailboxes inside the member's namespace that they have permission to read. Samva Mail synchronizes the shared mailboxes they can read in that namespace and their own personal mailbox, including their drafts and Outbox. Mail actions stay within the same mailbox permissions and namespace.

An unrestricted member's personal mailbox belongs to the organization. Removing a member applies the same personal-mailbox removal rules regardless of their namespace.

Invite from code

The invite API reference describes the request and response. Supply the recipient's email, role, personal mailbox address, and optional namespace:

invite-customer-staff.ts
import { createClient } from "samva";

const samva = createClient({
  authToken: process.env.SAMVA_AUTH_TOKEN!,
  orgSlug: process.env.SAMVA_ORG!,
});

await samva.organizations.inviteMember({
  email: "ada@example.com",
  role: "member",
  mailboxAddress: "ada@acme.example",
  namespaceId: process.env.SAMVA_NAMESPACE_ID!,
});

Use a signed-in session or OAuth connection for an unrestricted organization owner or admin. API keys cannot manage members.

samva login
samva org use my-organization
samva org invite ada@example.com \
  --role member \
  --mailbox-address ada@acme.example \
  --namespace "$SAMVA_NAMESPACE_ID"

Use --dry-run to inspect the invitation without sending it, or --json for the response as JSON. The hosted MCP tool is members_invite, with the same namespaceId and mailboxAddress inputs.

Keep credentials confined

A restricted member uses their signed-in dashboard session to create, list, view, and revoke keys stored in their namespace. A session fixed to a namespace, an OAuth connection, or a namespace key cannot manage keys. Organization-level keys remain under organization administration even when their owner becomes restricted; their access follows the owner's namespace restriction.

OAuth and hosted MCP connections remain inside that namespace, including after a token refresh. A namespace selection can narrow access; it cannot grant access outside the member's namespace. These credentials still require the role and mailbox permissions for each operation.

A namespace cannot be deleted while it holds restricted members. Remove those memberships and its remaining resources before deleting it. See Namespaces.

Related documentation

On this page