Endpoints - Groupr-Purdue/Groupr-Backend GitHub Wiki
Here are the possible endpoints available in this API:
Note: ALL headers require authentication tokens to be passed in the Authorization: schema, unless specified.
Authenticate
POST /login/- Authentication: not required.
- Description: Authenticate a career_account-password combination and return a valid token for future API requests.
- Request:
{ "career_account": "username", "password": "password" }- Response:
{ "career_account": "career_account", "email": "email", "first_name": "first_name", "id": "id", "last_name": "last_name", "token": "token" }DELETE /logout/- Description: Invalidates the authentication token
- Request:
none - Response:
{ "success": "User logged out" }
Users
-
POST /register- Authentication: not required.
- Description: Register a new user.
- Request:
{ "career_account": "career_account", "password": "password", "first_name": "first_name", "last_name": "last_name" }- Response:
{ "career_account": "career_account", "email": "email", "first_name": "first_name", "id": "id", "last_name": "last_name", "token": "token" } -
GET /users- Authentication: not required.
- Description: Retrieve ALL existing users in the system and their information.
- Request:
none - Response:
[ { "career_account": "career_account", "first_name": "first_name", "id": "id", "last_name": "last_name" }, { "career_account": "career_account", "first_name": "first_name", "id": "id", "last_name": "last_name" }, ... ] -
GET /users/:id- Description: Get details of a user given an :id
- Request:
none - Response:
{ "career_account": "career_account", "first_name": "first_name", "id": "id", "last_name": "last_name" } -
PATCH users/:id- Description: Update a user's career_account, password, first_name, or last_name. At least one field is required, but any can be provided together.
- Request:
{ "career_account": "career_account", "password": "password", "first_name": "first_name", "last_name": "last_name" }- Response:
{ "career_account": "career_account", "email": "email", "first_name": "first_name", "id": "id", "last_name": "last_name", "token": "token" } -
DELETE users/:id- Description: Deletes the given user.
- Request:
none - Response:
none - Status 204 No Content
-
GET /me- Description: Convenience endpoint for retrieving the current user's information.
- Request:
none - Response:
{ "career_account": "career_account", "email": "email", "first_name": "first_name", "id": "id", "last_name": "last_name", "token": "token" }