core (ADR-010, FS-CORE-0009). A member is an authenticated contact;
a user is not.
Entities & invariants
Events emitted
identity.user.invited|joined|deactivated · identity.role.assigned|revoked ·
identity.api_key.created|rotated|revoked · identity.oauth.authorized|revoked ·
identity.impersonation.started|ended · identity.mfa.enabled|disabled
Endpoints
- Auth:
POST /v1/identity/auth/{sign-in,sign-up,sign-out,magic-link,passkey}— public, rate-limited - MFA:
POST /v1/identity/mfa/{enroll,verify,disable}—identity.mfa.* - Users and memberships: CRUD
/v1/identity/users,/v1/identity/memberships—identity.{resource}.{action} - Roles: CRUD
/v1/identity/roles,POST /v1/identity/role-assignments—identity.roles.* - Machine credentials: CRUD
/v1/identity/api-keys,/v1/identity/oauth-clients - OAuth2 provider:
GET /oauth/authorize,POST /oauth/token,POST /oauth/revoke,GET /oauth/userinfo - Impersonation:
POST /v1/identity/impersonations— Ops only,identity.impersonation.start