APIs Design

Assuming that base resource is /api/v1/accounts/

Register

POST: /register/

Register new user

GET: /activate/<uidbase64>/<token>

Activate account by token sent to email

Login

POST: /login/

Login to the system use username/email and password

Social Login

POST: /login/social/

Login to the system use provider and access_token

Logout

POST: /logout/

Logout of the system

Profile

GET: /profile/

Get user profile

PUT: /profile/

Update user profile

Change password

PUT: /change-password/

Change user password

Reset password

POST: /reset-password/

Reset user password by email

Set password

PUT: /set-password/

Set use password when login by socials