Users¶
- 
GET/api/users¶
- Get all users - Example request: - without parameters 
 - GET /api/users HTTP/1.1 Content-Type: application/json - with some query parameters 
 - GET /api/users?order_by=workouts_count&par_page=5 HTTP/1.1 Content-Type: application/json - Example response: - HTTP/1.1 200 OK Content-Type: application/json { "data": { "users": [ { "admin": true, "bio": null, "birth_date": null, "created_at": "Sun, 14 Jul 2019 14:09:58 GMT", "email": "admin@example.com", "first_name": null, "language": "en", "last_name": null, "location": null, "nb_sports": 3, "nb_workouts": 6, "picture": false, "sports_list": [ 1, 4, 6 ], "timezone": "Europe/Paris", "total_distance": 67.895, "total_duration": "6:50:27", "username": "admin" }, { "admin": false, "bio": null, "birth_date": null, "created_at": "Sat, 20 Jul 2019 11:27:03 GMT", "email": "sam@example.com", "first_name": null, "language": "fr", "last_name": null, "location": null, "nb_sports": 0, "nb_workouts": 0, "picture": false, "sports_list": [], "timezone": "Europe/Paris", "total_distance": 0, "total_duration": "0:00:00", "username": "sam" } ] }, "status": "success" } - Parameters
- auth_user_id (integer) – authenticate user id (from JSON Web Token) 
 
- Query Parameters
- page (integer) – page if using pagination (default: 1) 
- per_page (integer) – number of users per page (default: 10, max: 50) 
- q (string) – query on user name 
- order_by (string) – sorting criteria ( - username,- created_at,- workouts_count,- admin)
- order (string) – sorting order (default: - asc)
 
- Request Headers
- Authorization – OAuth 2.0 Bearer Token 
 
- Status Codes
- 200 OK – success 
- Provide a valid auth token. 
- Signature expired. Please log in again. 
- Invalid token. Please log in again. 
 
 
 
- 
GET/api/users/(user_name)¶
- Get single user details - Example request: - GET /api/users/admin HTTP/1.1 Content-Type: application/json - Example response: - HTTP/1.1 200 OK Content-Type: application/json { "data": [ { "admin": true, "bio": null, "birth_date": null, "created_at": "Sun, 14 Jul 2019 14:09:58 GMT", "email": "admin@example.com", "first_name": null, "language": "en", "last_name": null, "location": null, "nb_sports": 3, "nb_workouts": 6, "picture": false, "sports_list": [ 1, 4, 6 ], "timezone": "Europe/Paris", "total_distance": 67.895, "total_duration": "6:50:27", "username": "admin" } ], "status": "success" } - Parameters
- auth_user_id (integer) – authenticate user id (from JSON Web Token) 
- user_name (integer) – user name 
 
- Request Headers
- Authorization – OAuth 2.0 Bearer Token 
 
- Status Codes
- 200 OK – success 
- Provide a valid auth token. 
- Signature expired. Please log in again. 
- Invalid token. Please log in again. 
 
- User does not exist. 
 
 
 
- 
GET/api/users/(user_name)/picture¶
- get user picture - Example request: - GET /api/users/admin/picture HTTP/1.1 Content-Type: application/json - Example response: - HTTP/1.1 200 OK Content-Type: image/jpeg - Parameters
- user_name (integer) – user name 
 
- Status Codes
- 200 OK – success 
- User does not exist. 
- No picture. 
 
 
 
- 
PATCH/api/users/(user_name)¶
- Update user to add admin rights - Only user with admin rights can modify another user - Example request: - PATCH api/users/<user_name> HTTP/1.1 Content-Type: application/json - Example response: - HTTP/1.1 200 OK Content-Type: application/json { "data": [ { "admin": true, "bio": null, "birth_date": null, "created_at": "Sun, 14 Jul 2019 14:09:58 GMT", "email": "admin@example.com", "first_name": null, "language": "en", "last_name": null, "location": null, "nb_workouts": 6, "nb_sports": 3, "picture": false, "sports_list": [ 1, 4, 6 ], "timezone": "Europe/Paris", "total_distance": 67.895, "total_duration": "6:50:27", "username": "admin" } ], "status": "success" } - Parameters
- auth_user_id (integer) – authenticate user id (from JSON Web Token) 
- user_name (string) – user name 
 
- Request JSON Object
- admin (boolean) – does the user have administrator rights 
 
- Request Headers
- Authorization – OAuth 2.0 Bearer Token 
 
- Status Codes
- 200 OK – success 
- Provide a valid auth token. 
- Signature expired. Please log in again. 
- Invalid token. Please log in again. 
 
- 403 Forbidden – You do not have permissions. 
- User does not exist. 
 
 
 
- 
DELETE/api/users/(user_name)¶
- Delete a user account - A user can only delete his own account - An admin can delete all accounts except his account if he’s the only one admin - Example request: - DELETE /api/users/john_doe HTTP/1.1 Content-Type: application/json - Example response: - HTTP/1.1 204 NO CONTENT Content-Type: application/json - Parameters
- auth_user_id (integer) – authenticate user id (from JSON Web Token) 
- user_name (string) – user name 
 
- Request Headers
- Authorization – OAuth 2.0 Bearer Token 
 
- Status Codes
- 204 No Content – user account deleted 
- Provide a valid auth token. 
- Signature expired. Please log in again. 
- Invalid token. Please log in again. 
 
- You do not have permissions. 
- You can not delete your account, no other user has admin rights. 
 
- User does not exist. 
 
- 500 Internal Server Error – Error. Please try again or contact the administrator.