Skip to content
dionisggr edited this page Feb 14, 2021 · 2 revisions

Get Users

URL: /api/users
Method: GET
Auth required: Yes

  • Bearer my-secret-admin

Success Response

Code: 200 OK
Content example

[
  {
    "username": "dschrute",
    "first_name": "Dwight",
    "last_name": "Schrute",
    "email": "schrutefarms@creedmail.com",
    "admin": false
  },
      
  ...
]

Create User (Register)

URL: /api/users
Method: POST
Auth required: Yes

  • Bearer my-secret-key
  • Bearer my-secret-admin
  • Bearer <JSON Web Token>

Request Body

Requires headers: {'Content-Type': 'application/json'}

  {
  "username": "rhoward",
  "password": "password",
  "first_name": "Ryan",
  "last_name": "Howard",
  "email": "commited@wuphf.com",
  "admin": false
}
Name Type In Description
username string header Unique username
password string header User password
first_name string header First name of user
last_name string header Last name of user
email string header User email
admin boolean header Admin privileges

Success Reponse

Code: 201 Created
Content example

{
  "user_id": 4
  "username": "rhoward",
  "first_name": "Ryan",
  "last_name": "Howard",
  "email": "commited@wuphf.com",
  "admin": false
}

Edit User

URL: /users/:userID
Method: PATCH
Auth required: Yes

  • Bearer my-secret-key
  • Bearer my-secret-admin
  • Bearer <JSON Web Token>

Request Body

Requires headers: {'Content-Type': 'application/json'}

{
  // All optional, at least one required.
  "username": "rhoward",
  "first_name": "Ryan",
  "last_name": "Kapoor", // Edited
  "email": "taken@wuphf.com", // Edited
  "admin": false
}
Name Type In Description
user integer path User ID
username string header Unique username
first_name string header First name of user
last_name string header Last name of user
email string header User email
admin boolean header Admin privileges

Success Reponse

Code: 201 Created (Resource updated successfully, and refreshes.)
Content example

{
  "user_id": 4
  "username": "rhoward",
  "first_name": "Ryan",
  "last_name": "Kapoor",
  "email": "taken@wuphf.com",
  "admin": false
}

Notes

All values will be necessary in Update due to previous empty field validation


Delete User

URL: /users/:user
Method: DELETE
Auth required: Yes

  • Bearer my-secret-key
  • Bearer my-secret-admin
  • Bearer <JSON Web Token> (Generated at Login. See above for instructions)
Name Type In Description
user integer path User ID

Success Reponse

Code: 301 Moved Permanently
Content example

<No Content>