Offboard User
Offboard a user: LOCK the account, cut its cross-tenant reach, end every session, and record who did it (G-OFFBOARD, docs/folds/user-offboarding.md).
Distinct from revoke-sessions above, which is a kick: it ends the sessions that exist, but the same person logs straight back in tomorrow. This is the lock. Four things, in this order, so that no ordering leaves a usable window:
- users.disabled_at — every entry point that turns a users row into a credential refuses from this instant (app/user_active.py names them). FIRST, so nothing can start a new session while the rest runs.
- cross_tenant_grants — the reach into other tenants goes with the account (docs/design/2026-06-03-delegated-tenant-access-act-as.md).
- revoke_user_sessions — the existing kick, unchanged: bumps session_epoch and revokes outstanding refresh families, so live copilot sessions die at their next revalidation and meta-copilot's revocation mirror picks the user up from session_revoked_at.
- one user_offboardings row.
Idempotent. A second call reports already_disabled: true, leaves the original disabled_at alone, and STILL re-runs steps 2–4 — a repeat is what an operator reaches for when they suspect the first one half-landed, so it must re-close the door rather than report success and do nothing.
Request
- Base URL: https://pozeidon.ai (the document declares no server; this is the origin it was published from)
- URL: https://pozeidon.ai/api/tenants/{tenant_id}/users/{user_id}/offboard
- Auth: none declared. Required headers: x-admin-secret
Path parameters
Headers
Request body
Response
Successful Response
Changes
No recorded changes to this operation across all 2 revisions of this API.