Skip to main content

Endpoints

Prefix: /api

Authentication

EndpointMethodDescription
/auth/loginPOSTEmail/password login → LoginResponseDto or MfaChallengeDto
/auth/mfa/verify-loginPOSTComplete MFA during login; body { userId, code, rememberDevice?, deviceInfo? }
/auth/refreshPOSTExchange { jti, refreshToken } for new tokens
/auth/profileGETCurrent user profile (JWT required)
/auth/profilePATCHUpdate profile fields (JWT + CSRF)
/auth/logoutPOSTRevoke session by jti (JWT required)
/auth/forgot-passwordPOSTAlways 204; issues reset token and queues notifications
/auth/reset-passwordPOSTValidate token, update password, revoke sessions
/auth/verify-emailPOSTPlaceholder for email verification

Profile Updates

PATCH /auth/profile accepts:

  • givenName, familyName, preferredName, avatar
  • phoneNumber (E.164 format)

A phone change sets phoneVerified=false and disables phone-based MFA (sms, whatsapp) to enforce re-enrolment.

OAuth

EndpointDescription
GET /auth/googleExternal redirect to Google
GET /auth/google/callbackGoogle OAuth callback
GET /auth/facebookExternal redirect to Facebook
GET /auth/facebook/callbackFacebook OAuth callback

Health & Observability

EndpointDescription
GET /healthLiveness check
GET /health/readyReadiness (skips providers with CI_OFFLINE=true)
GET /health/providersProvider diagnostics (non-gating)
  • apps/idp/README.md
  • apps/idp/src/app/health/health.controller.ts