Substratal Apps Substratal Apps Hub specs
GitHub

Help Screens Users

User — Overview USR-03

One user's account state and administrative actions.

Who can use itusers.list (read), users.manage (write)
Where it is/admin/users/:userId · link: https://hub.substratalapps.com/admin/users/:userId or substratal://admin/users/:userId
Available onWeb (PWA), iOS / iPadOS, Android, Windows, Linux (GNOME), macOS
PhaseMVP

What you can do here

  • Reactivate / Restore
  • Resend invitation — 202 toast; 409 → not in invited state
  • Reset two-factor — confirm
  • Export — save file
  • Delete — confirm
  • Cancel erasure — visible during 7-day window
  • Extend (test-mode) — users.manage; at least 15 min from now, at most 30 days after created_at (422 expires_at_out_of_range). Extending an expired User brings them back.

On your platform

AppStatusHow it's built
Web (PWA)—Detail pane with header, tablist, toolbar; full page < 768 px
iOS / iPadOS—Pushed view; segmented Picker; toolbar actions
AndroidPlannedDetail pane / pushed screen; PrimaryTabRow; top-bar actions
Windows—Detail pane / drill-in page; SelectorBar tabs; CommandBar actions
Linux (GNOME)—Content pane; AdwViewSwitcher; header-bar actions
macOS—Detail column; tabs as segmented Picker in toolbar principal

Status is reported by each app's repository; — means that app doesn't report it yet.

For developers: API calls

MethodPathWhat it does
DELETE/users/{id}/mfa/totpSupport reset of a user's TOTP (requires users.manage)
GET/users/{id}Fetch one user
PATCH/users/{id}Update email (self, pending verification) or status (users.manage)
DELETE/users/{id}Soft-delete a user (self or users.manage)
POST/users/{id}/invitationRe-send the invitation email to an invited user (users.manage)
GET/users/{id}/exportExport everything this API holds about this user
DELETE/users/{id}/erasure-requests/currentCancel a scheduled erasure inside its 7-day window (users.manage)
GET/users/{id}/profileFetch global Profile
GET/users/{id}/subscriptionA User's plan, what covers it, and their own subscription (self or billing.manage)

Every call sends Substratal-Version: 1. Paths are at the host root, with no /v1.

Full screen specification

Last updated 2026-10-24 · Built 2026-10-25 from a9ef3be · API 1.0.0-draft.13 · Substratal-Version: 1