{
'id': string,
'username': string,
'first_name': string,
'last_name': string,
'email': string,
'phone': number,
'yoe': number,
'company': string,
'designation': string,
'img': string,
'github_id': string,
'linkedin_id': string,
'twitter_id': string,
'instagram_id': string,
'website': string,
'github_display_name': string,
'isMember': boolean,
'userType': string,
'tokens': {},
'badges': []
}
Note:: Only the GET users/self
route will return phone
and email
if private
query is passed as true. This way we are not exposing users' phone numbers and email addresses to everyone. Users can only see their own phone number and email address.
Route | Description |
---|---|
GET /users | Returns all users in the system |
GET /users/self | Returns the logged in user's details |
GET /users/:id | Returns user with given id |
POST /users | Creates a new User |
PATCH /users/self | Updates data of the User |
Returns all users in the system.
- Params
None - Query
size=[integer], page=[integer] - Body
None - Headers
Content-Type: application/json - Cookie
rds-session:<JWT>
- Success Response:
- Code: 200
- Content:
{
message: 'Users returned successfully!'
users: [
{<user_object>}
]
}
- Error Response:
- Code: 401
- Content:
{ 'statusCode': 401, 'error': 'Unauthorized', 'message': 'Unauthenticated User' }
- Content:
- Code: 401
Returns the details of logged in user.
- Params
None - Query private=[boolean]
- Body
None - Headers
Content-Type: application/json - Cookie
rds-session:<JWT>
- Success Response:
- Code: 200
- Content:
{ <user_object> }
Note: The user object will include
phone
andemail
only when the queryprivate
is passed astrue
for this route. No other route will returnphone
andemail
. - Content:
- Code: 200
- Error Response:
- Code: 401
- Content:
{ 'statusCode': 401, 'error': 'Unauthorized', 'message': 'Unauthenticated User' }
- Content:
- Code: 404
- Content:
{ 'statusCode': 404, 'error': 'Not Found', 'message': 'User doesn't exist' }
- Content:
- Code: 500
- Content:
{ 'statusCode': 500, 'error': 'Internal Server Error', 'message': 'An internal server error occurred' }
- Content:
- Code: 401
Returns the specified user.
- Params
Required:id=[string]
- Body
None - Headers
Content-Type: application/json - Cookie
rds-session:<JWT>
- Success Response:
- Code: 200
- Content:
{ 'message': 'User returned successfully!', 'user': <user_object> }
- Content:
- Error Response:
- Code: 404
- Content:
{ error: 'Not Found', message: 'User doesn't exist' }
- Content:
- Code: 401
- Content:
{ 'statusCode': 401, 'error': 'Unauthorized', 'message': 'Unauthenticated User' }
- Content:
- Code: 404
Returns the availability of username.
- Params
Required:username=[string]
- Body
None - Headers
Content-Type: application/json - Cookie
rds-session:<JWT>
- Success Response:
- Code: 200
- Content:
{ 'isUsernameAvailable': <boolean> }
- Content:
- Code: 200
- Error Response:
- Code: 401
- Content:
{ 'statusCode': 401, 'error': 'Unauthorized', 'message': 'Unauthenticated User' }
- Content:
- Code: 500
- Content:
{ 'statusCode': 500, 'error': 'Internal Server Error', 'message': 'An internal server error occurred' }
- Content:
- Code: 401
Creates a new User.
- Params
None - Query
None - Headers
Content-Type: application/json - Cookie
rds-session:<JWT>
- Body
{ <user_object> }
- Success Response:
- Code: 200
- Content:
{ <user_object> }
- Content:
- Code: 200
- Error Response:
- Code: 409
- Content:
{ "statusCode": 409, "error": "Conflict", "message": "User already exists" }
- Content:
- Code: 401
- Content:
{ 'statusCode': 401, 'error': 'Unauthorized', 'message': 'Unauthenticated User' }
- Content:
- Code: 409
Updates data of the User.
- Params
None - Query
None - Headers
Content-Type: application/json - Cookie
rds-session:<JWT>
- Body
{ <user_object> }
- Success Response:
- Code: 204
- Content:
{ 'message': 'User updated successfully!'}
- Content:
- Code: 204
- Error Response:
- Code: 404
- Content:
{ 'statusCode': 404, 'error': 'Not Found', 'message': 'User not found' }
- Content:
- Code: 401
- Content:
{ 'statusCode': 401, 'error': 'Unauthorized', 'message': 'Unauthenticated User' }
- Content:
- Code: 403
- Content:
{ 'statusCode': 403, 'error': 'Forbidden', 'message': 'Cannot update username again'}
- Content:
- Code: 503
- Content:
{ 'statusCode': 503, 'error': 'Service Unavailable', 'message': 'Something went wrong please contact admin' }
- Content:
- Code: 404