Signing In to SanadiqCloud

Product version: 1.0.0+1 Last updated: 2026-08-03 Audience: Tenant Owners, Tenant Employees, Regular Users


Creating a New Account

Email and password

  1. Open SanadiqCloud → Sign in (/login).
  2. Choose Create account / Register (/signup).
  3. Enter first name, last name, email, and password.
  4. Confirm that you agree to the Terms of Service and Privacy Policy, then submit. You are guided to email verification when required (/verify-email).

Google

  1. On sign-in, use Sign in with Google.
  2. Complete the Google account prompt (web uses the Google Identity button; mobile uses the Google Sign-In flow).
  3. The app exchanges the Google ID token with the auth API (POST /api/auth/v1/login/google).

Apple Sign-In is not available.


Signing In

Email and password

  1. Enter email and password on /login.
  2. Tap Sign in.
  3. On success you enter the app for your account type (home / organization dashboard as applicable).

Google

Same Google control on the sign-in page.

Special redirects

Condition Destination
Email verification required /verify-email
Account deactivated /account-reactivate
Subscription expired (gated) Sign-in / renewal paths as shown in the app

Organization / workspace

After auth, if you belong to an organization you enter that workspace. Switching organizations (when available) is from the avatar / shell menu — not a separate “devices” page.


Email Verification

  1. Open /verify-email (forced when verification is required).
  2. Enter the OTP from email.
  3. Tap Verify. Use Resend if needed (cooldown / rate limits apply).
  4. You can switch to a different account (sign out) from this page.

Without verification, protected app routes redirect back to verify.


Password Reset

  1. Sign-in → Forgot password? (/forgot-password).
  2. Enter email → send reset code.
  3. On /reset-password: email, OTP, new password, confirm.
  4. Success → return to sign-in. Server sessions for that user are cleared.

Account Reactivation

If sign-in reports a deactivated account, /account-reactivate lets you reactivate using the credentials already captured on the sign-in form (no separate password re-entry on that page). Success behaves like a normal login (tokens in response headers).


Accepting an Organization Invite

Invited users open /accept-invitation?token=…, set a password when required, then sign in. See Invites.


Tokens and Session Behavior

  • Access and refresh tokens are returned in response headers (X-Access-Token, X-Refresh-Token), not the JSON body.
  • The client stores them and sends Authorization: Bearer … on API calls, plus X-Tenant-ID when a tenant is selected. Tenant is not inside the JWT.
  • On 401, the client attempts refresh; if refresh fails, the local session is cleared and you return to sign-in.

Active sessions UI

There is no in-app “list/revoke device sessions” screen. Sign out from the avatar menu ends the current client session. Changing or resetting your password invalidates all server sessions.


Troubleshooting

Issue What to try
Invalid credentials Forgot password; check Caps Lock
Email not verified Complete OTP on /verify-email; resend code
Account deactivated Use /account-reactivate
Google fails Retry; fall back to email/password; contact support
Invite link fails Ask owner to Resend or send a new invite
Too many attempts Wait for the rate-limit window, then retry

Related: Overview | Create Organization | Profile | Invites