Authentication
(User Register) : POST /auth/register
Request body (json) :
{
"username": "string",
"email": "hello@gmail.com",
"password": "string",
"display_name": "string"
}
Response (201 Created) :
{
"user": {
"user_id": "5c933550-5517-4f74-b9dc-1bb808b8f4c8",
"username": "string",
"email": "hello@gmail.com",
"display_name": "string",
"bio": "",
"profile_picture_url": "#",
"role": "USER",
"registration_date": "2025-01-14T14:31:48.5908993+08:00",
"created_at": "2025-01-14T14:31:48.5908993+08:00",
"updated_at": "2025-01-14T14:31:48.5908993+08:00"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNWM5MzM1NTAtNTUxNy00Zjc0LWI5ZGMtMWJiODA4YjhmNGM4Iiwicm9sZSI6IlVTRVIiLCJpc3MiOiJ5b3VyLWFwcCIsImV4cCI6MTczNjkyMjcwOCwiaWF0IjoxNzM2ODM2MzA4fQ.upJNYMQpO2J2-9Hfkq3Sl-_drNyAOzs4bVtbB2chNN8"
}
(User/Admin Login) : POST /auth/login
Response (200 OK) :
{
"user": {
"user_id": "5c933550-5517-4f74-b9dc-1bb808b8f4c8",
"username": "string",
"email": "hello@gmail.com",
"display_name": "string",
"bio": "",
"profile_picture_url": "#",
"role": "USER",
"registration_date": "2025-01-14T14:31:48.590899+08:00",
"created_at": "2025-01-14T14:31:48.590899+08:00",
"updated_at": "2025-01-14T14:31:48.590899+08:00"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiNWM5MzM1NTAtNTUxNy00Zjc0LWI5ZGMtMWJiODA4YjhmNGM4Iiwicm9sZSI6IlVTRVIiLCJpc3MiOiJ5b3VyLWFwcCIsImV4cCI6MTczNjkyMjc1NiwiaWF0IjoxNzM2ODM2MzU2fQ.miuM-0IeYJqvklVdyRRG6sNFrPj9i3z6dgxE5_NMwb0"
}
(Admin Register) : POST /auth/admin/register
Request body (json) :
{
"username": "admin1",
"email": "admin@gmail.com",
"password": "string",
"display_name": "string",
"secret_key": "your-ADMIN-key"
}
Response (201 Created) :
{
"user": {
"user_id": "a34db144-5ae9-47b9-ae74-a78a68eac837",
"username": "admin1",
"email": "admin@gmail.com",
"display_name": "string",
"bio": "",
"profile_picture_url": "#",
"role": "ADMIN",
"registration_date": "2025-01-14T14:30:51.9954435+08:00",
"created_at": "2025-01-14T14:30:51.9954435+08:00",
"updated_at": "2025-01-14T14:30:51.9954435+08:00"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiYTM0ZGIxNDQtNWFlOS00N2I5LWFlNzQtYTc4YTY4ZWFjODM3Iiwicm9sZSI6IkFETUlOIiwiaXNzIjoieW91ci1hcHAiLCJleHAiOjE3MzY5MjI2NTIsImlhdCI6MTczNjgzNjI1Mn0.6sMAYFmcWiw4YKKB8vPoCzUdQFojPmf0zqZSzgNu9JM"
}