Skip to main content

2.4 First tenant admin user

Outcome

The customer's IT/billing lead can log in at their subdomain with a tenant admin role and create their own users from there.

Prerequisites

How (impersonation pattern)

Tenant users live inside the tenant DB. Platform admins can't insert directly via the Admin UI — they impersonate the tenant first, then use the tenant's own user-management UI.

Steps

  1. Open the tenant in the Admin UI

    Admin → Tenants → Acme Behavioral Health → Switch to tenant. Confirm the modal that explains every action will be audited under your platform user ID.

  2. Create the first tenant admin

    In the now-impersonated UI:

    Settings → Users → Add user

    FieldValue
    EmailThe customer's IT lead's email
    Display nameTheir name
    RoleTENANT_ADMIN
    Force password change on first login

    The system generates a one-time password and shows it once. Send it via your secure channel (1Password, SecureSend, etc.).

  3. Confirm the user can sign in

    Have the customer sign in to acme.rcm.medsuite.com and change their password.

  4. Exit impersonation

    In the Admin UI, click Stop impersonating.

  5. Verify the audit trail

    -- Master-side audit shows your impersonation
    SELECT event_type, ts, details
    FROM identity.tenant_audit
    WHERE tenant_id = '<acme tenant_id>' AND ts > now() - interval '1 hour'
    ORDER BY ts;

    You should see IMPERSONATION_STARTED, the user-creation events (also captured on the tenant side), and IMPERSONATION_ENDED.

Roles to know

RoleWhat they can do
TENANT_ADMINManage users, roles, all tenant config.
BILLING_LEADManage payers, fee schedules, claims, denials.
BILLERDay-to-day claim work; cannot change config.
READONLYView only.

The customer's TENANT_ADMIN will go on to create the rest of their team in 2.10 Users + RBAC.

Validation

CheckExpected
Tenant security.app_user count1
security.user_role for that userTENANT_ADMIN
Login at acme.rcm.medsuite.comsucceeds
identity.tenant_audit IMPERSONATION_STARTED + ENDEDboth present

Troubleshooting

SymptomLikely causeFix
Impersonation token returns 403 on writesTenant status is read_only or suspendedConfirm identity.tenant.status='active'.
Created user can't log inSlug missing from URLSign in via acme.rcm.medsuite.com, not the bare host.
Email is correct but login failsPassword copy/paste includes whitespaceRe-issue via Settings → Users → Reset password.

Next

2.5 — Org and facilities