Update User Profile API
Overview
Allows an authenticated user to view or update their own user profile details (first name, last name, phone, date of birth, gender, address, pincode).
- Endpoints:
GET /api/users/profileorPOST /api/users/profile(Get Self Profile)POST /api/users/update-profileorGET /api/users/update-profile(Update Self Profile)
- Method:
GETorPOST - Auth Required: Yes (
Bearer <token>)
Get Self Profile
Request
GET /api/users/profile
Headers:
Authorization: Bearer <user_jwt_token>
Response (200 OK)
{
"success": true,
"message": "User profile retrieved successfully",
"data": {
"id": "e89c6295-88a4-44b4-a46c-2f960fcdbb1d",
"email": "employee@example.com",
"firstName": "John",
"lastName": "Doe",
"phone": "+919876543210",
"clientType": "B2B",
"companyId": "060d4b29-df13-43ef-aa2a-bd1e5ccebfa2",
"departmentId": "4a737f90-1c66-4191-8be9-e09210214a1a",
"employeeBand": "B2",
"bandId": "73c683b5-773a-449e-b9cb-fb1bca1e9882",
"approvalLimit": "10000.00",
"dateOfBirth": "1995-08-15T00:00:00.000Z",
"gender": "Male",
"addressLine1": "123 Business Park",
"addressLine2": "Suite 400",
"pincode": "400001",
"loyaltyPoints": 0,
"active": true,
"createdAt": "2026-09-02T06:00:00.000Z",
"updatedAt": "2026-09-02T10:00:00.000Z",
"company": {
"id": "060d4b29-df13-43ef-aa2a-bd1e5ccebfa2",
"name": "Acme Corp",
"legalName": "Acme Private Limited",
"gstin": "27AAACA1234A1Z5",
"active": true
},
"department": {
"id": "4a737f90-1c66-4191-8be9-e09210214a1a",
"name": "Engineering",
"costCode": "ENG-001"
},
"band": {
"id": "73c683b5-773a-449e-b9cb-fb1bca1e9882",
"name": "Senior Software Engineer",
"code": "B2",
"autoApprovalLimit": "7000.00",
"maxBookingLimit": null
},
"companyRoles": [
{
"id": "role-uuid-1",
"companyId": "060d4b29-df13-43ef-aa2a-bd1e5ccebfa2",
"role": "COMPANY_EMPLOYEE"
}
],
"systemRoleMap": {
"role": "USER",
"active": true
},
"roles": [
"COMPANY_EMPLOYEE"
]
}
}
Update Self Profile
Request Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
firstName | String | No | Updated first name |
lastName | String | No | Updated last name |
phone | String | No | Updated contact phone number |
dateOfBirth | String (YYYY-MM-DD) | No | Updated date of birth |
gender | String | No | Updated gender (e.g. "Male", "Female", "Other") |
addressLine1 | String | No | Primary street address |
addressLine2 | String | No | Apartment, suite, or building details |
pincode | String | No | Postal code |
Request Example
POST /api/users/update-profile
Headers:
Authorization: Bearer <user_jwt_token>
{
"firstName": "John",
"lastName": "Smith",
"phone": "+919876543210",
"dateOfBirth": "1995-08-15",
"gender": "Male",
"addressLine1": "123 Tech Park",
"pincode": "400001"
}
Response (200 OK)
{
"success": true,
"message": "Profile updated successfully",
"data": {
"id": "e89c6295-88a4-44b4-a46c-2f960fcdbb1d",
"email": "employee@example.com",
"firstName": "John",
"lastName": "Smith",
"phone": "+919876543210",
"clientType": "B2B",
"companyId": "060d4b29-df13-43ef-aa2a-bd1e5ccebfa2",
"departmentId": "4a737f90-1c66-4191-8be9-e09210214a1a",
"employeeBand": "B2",
"bandId": "73c683b5-773a-449e-b9cb-fb1bca1e9882",
"approvalLimit": "10000.00",
"dateOfBirth": "1995-08-15T00:00:00.000Z",
"gender": "Male",
"addressLine1": "123 Tech Park",
"addressLine2": null,
"pincode": "400001",
"loyaltyPoints": 0,
"active": true,
"createdAt": "2026-09-02T06:00:00.000Z",
"updatedAt": "2026-09-02T10:40:00.000Z",
"company": {
"id": "060d4b29-df13-43ef-aa2a-bd1e5ccebfa2",
"name": "Acme Corp",
"legalName": "Acme Private Limited"
},
"department": {
"id": "4a737f90-1c66-4191-8be9-e09210214a1a",
"name": "Engineering"
},
"band": {
"id": "73c683b5-773a-449e-b9cb-fb1bca1e9882",
"name": "Senior Software Engineer",
"code": "B2"
},
"roles": [
"COMPANY_EMPLOYEE"
]
}
}