Create a key to copy examples filled with your team.
Setting up PostShiba for multi-tenant apps
One team, extra tenants, scoped domains and credentials.
Use one PostShiba team. Create extra tenants under that team. Each tenant scopes sending domains, SMTP credentials, inboxes, and suppressions.
Pass tenant on send as an id or a slug. That picks the From domain, the credential, and the suppression list. SMTP users are already bound to a tenant. A mismatch on AUTH returns 403 {error: tenant_mismatch}.
Index hides the default tenant (slug default). GET /api/v1/teams/:team_id/tenants and the dashboard tenants page both list extra tenants only. Show still returns the default tenant by id.