Residents & users
Admin API patterns for resident and staff users.
Overview
Users cover admins, property managers, staff, and residents. Role is stored in role (admin, property_manager, staff, resident). Residents belong to a tenant and link to one or more units.
Endpoints (selected)
| Method | Path | Description |
|---|---|---|
GET | /api/admin/users/me | Current admin user |
GET | /api/admin/users | List users |
GET | /api/admin/users/all-accounts | All accounts view |
GET | /api/admin/users/admin-users | Admin/PM accounts |
GET | /api/admin/users/customer-users | Resident accounts |
GET | /api/admin/users/needs-triage | Accounts needing review |
POST | /api/admin/users/staff-invitations | Invite staff via Clerk |
POST | /api/admin/users | Create |
GET | /api/admin/users/:id | Read |
GET | /api/admin/users/:id/device-history | Device audit trail |
PUT | /api/admin/users/:id | Update |
DELETE | /api/admin/users/:id | Delete |
Scoped routes require Unkey scopes users:read / users:write.
Auth identifiers
| Field | When populated |
|---|---|
workosUserId | SSO admin users (legacy) |
clerkUserId | Clerk-authenticated PM / portal users |
password | Bcrypt hash for resident/password login (nullable for SSO-only) |
Notification preferences
| Field | Purpose |
|---|---|
fallbackCallEnabled | Voice call on entry request |
fallbackSmsEnabled | SMS with approve/deny links |
forwardCallToResident | Emergency forwarding path |
phoneNumber | E.164; required for SMS/voice fallbacks |
Devices
Each user may register multiple Device rows (push tokens). Use /api/admin/devices to audit or revoke compromised handsets.
Last verified: 2026-06-21 (commit 293c4a7)