Secure Auth API for Laravel Multi-Tenant Apps

High-performance Laravel REST API for authentication, user lifecycle, and secure token-based access designed for scalable SaaS and multi-tenant systems.

Sign-up
Sign-in
Profile
Sign-out
Update
Delete
Email Verify
Password Reset
POST /api/auth/sign-up
REQUEST
{ "name":"username","email":"mail@mail.com","password":"your_password" }
RESPONSES
{ "status":true,"message":null,"data":{"token":"1|token","verified":true} }
{ "status":false,"message":{"email":["The email has already been taken."]},"data":null }
POST /api/auth/sign-in
REQUEST
{ "email":"mail@mail.com","password":"your_password" }
RESPONSES
{ "status":true,"message":null,"data":{"token":"2|token","verified":true} }
{ "status":false,"message":"Authentication failed, invalid credentials.","data":null }
GET /api/user/profile
REQUEST
Authorization: Bearer {token}
RESPONSES
{ "status":true,"message":null,"data":{"id":1,"name":"username","email":"email@email.com","email_verified_at":"2026-03-23","avatar":"/assets/images/user.png","enabled":1} }
{ "message":"Unauthenticated." }
PUT/PATCH /api/user/update
REQUEST
{ "type":"name","name":"new_name" }
{ "type":"image","bytes":"[1,3,4]","extension":"png" }
RESPONSES
{ "status":true,"message":"Profile updated successfully","data":null }
DELETE /api/user/delete
RESPONSES
{ "status":true,"message":"Account deleted successfully","data":null }
POST /api/user/sign-out
RESPONSES
{ "status":true,"message":"Logged out successfully","data":null }
POST /api/auth/email/send
RESPONSES
{ "status":true,"message":"Verification email sent" }
POST /api/auth/email/verify
REQUEST
{ "token":"verification_token" }
RESPONSES
{ "status":true,"message":"Email verified successfully" }
POST /api/auth/email/resend
RESPONSES
{ "status":true,"message":"Verification email resent" }
POST /api/auth/password/forgot
REQUEST
{ "email":"mail@mail.com" }
RESPONSES
{ "status":true,"message":"Reset link sent" }
POST /api/auth/password/reset
REQUEST
{ "token":"reset_token","password":"new_password" }
RESPONSES
{ "status":true,"message":"Password reset successful" }