I’ll provide you with a Postman API documentation for all the routes we’ve created in our Express.js authentication and permission system. This documentation will include the URL, HTTP method, required headers (including the token), and JSON payloads where applicable.
Here’s the Postman API documentation for your Express.js authentication and permission system:
- User Registration
- URL:
http://localhost:3000/api/auth/register
- Method: POST
- Body (raw JSON):
{
"username": "newuser",
"email": "newuser@example.com",
"password": "password123"
}
- User Login
- URL:
http://localhost:3000/api/auth/login
- Method: POST
- Body (raw JSON):
{
"username": "newuser",
"password": "password123"
}
Get All Users
URL:http://localhost:3000/api/admin/users
Method:GET
Headers:x-access-token
: <your_jwt_token>
Get User by ID
URL:http://localhost:3000/api/admin/users/:id
Method:GET
Headers:x-access-token
: <your_jwt_token>
Update User
URL:http://localhost:3000/api/admin/users/:id
Method:PUT
Headers:x-access-token
: <your_jwt_token>
Body (raw JSON):
{
"username": "updatedUsername",
"email": "updatedEmail@example.com",
"isActive": true,
"isSuperuser": false
}
Delete User
URL:http://localhost:3000/api/admin/users/:id
Method:DELETE
Headers:x-access-token
: <your_jwt_token>
Bulk Assign Permissions to User
URL:http://localhost:3000/api/admin/users/:userId/permissions/bulk-assign
Method:POST
Headers:x-access-token
: <your_jwt_token>
Body (raw JSON):
{
"permissionIds": [1, 2, 3]
}
Bulk Remove Permissions from User
URL:http://localhost:3000/api/admin/users/:userId/permissions/bulk-remove
Method:POST
Headers:x-access-token
: <your_jwt_token>
Body (raw JSON):
{
"permissionIds": [1, 2, 3]
}
- Create Group
- URL:
http://localhost:3000/api/admin/groups
- Method: POST
- Headers:
- x-access-token:
<your_jwt_token>
- Body (raw JSON):
{
"name": "Administrators"
}
- Get All Groups
- URL:
http://localhost:3000/api/admin/groups
- Method: GET
- Headers:
- x-access-token:
<your_jwt_token>
- Get Single Group
- URL:
http://localhost:3000/api/admin/groups/:id
- Method: GET
- Headers:
- x-access-token:
<your_jwt_token>
- Update Group
- URL:
http://localhost:3000/api/admin/groups/:id
- Method: PUT
- Headers:
- x-access-token:
<your_jwt_token>
- Body (raw JSON):
{
"name": "Super Administrators"
}
- Delete Group
- URL:
http://localhost:3000/api/admin/groups/:id
- Method: DELETE
- Headers:
- x-access-token:
<your_jwt_token>
- Create Permission
- URL:
http://localhost:3000/api/admin/permissions
- Method: POST
- Headers:
- x-access-token:
<your_jwt_token>
- Body (raw JSON):
{
"name": "Can view users",
"codename": "view_users"
}
- Get All Permissions
- URL:
http://localhost:3000/api/admin/permissions
- Method: GET
- Headers:
- x-access-token:
<your_jwt_token>
- Get Single Permission
- URL:
http://localhost:3000/api/admin/permissions/:id
- Method: GET
- Headers:
- x-access-token:
<your_jwt_token>
- Update Permission
- URL:
http://localhost:3000/api/admin/permissions/:id
- Method: PUT
- Headers:
- x-access-token:
<your_jwt_token>
- Body (raw JSON):
{
"name": "Can edit users",
"codename": "edit_users"
}
- Delete Permission
- URL:
http://localhost:3000/api/admin/permissions/:id
- Method: DELETE
- Headers:
- x-access-token:
<your_jwt_token>
- Assign Group to User
- URL:
http://localhost:3000/api/admin/users/:userId/groups
- Method: POST
- Headers:
- x-access-token:
<your_jwt_token>
- Body (raw JSON):
{
"groupId": 1
}
- Remove Group from User
- URL:
http://localhost:3000/api/admin/users/:userId/groups/:groupId
- Method: DELETE
- Headers:
- x-access-token:
<your_jwt_token>
- Assign Permission to Group
- URL:
http://localhost:3000/api/admin/groups/:groupId/permissions
- Method: POST
- Headers:
- x-access-token:
<your_jwt_token>
- Body (raw JSON):
{
"permissionId": 1
}
- Remove Permission from Group
- URL:
http://localhost:3000/api/admin/groups/:groupId/permissions/:permissionId
- Method: DELETE
- Headers:
- x-access-token:
<your_jwt_token>
- Assign Permission to User
- URL:
http://localhost:3000/api/admin/users/:userId/permissions
- Method: POST
- Headers:
- x-access-token:
<your_jwt_token>
- Body (raw JSON):
{
"permissionId": 1
}
- Remove Permission from User
- URL:
http://localhost:3000/api/admin/users/:userId/permissions/:permissionId
- Method: DELETE
- Headers:
- x-access-token:
<your_jwt_token>
- Public Route Example
- URL:
http://localhost:3000/api/example/public
- Method: GET
- Protected Route Example
- URL:
http://localhost:3000/api/example/protected
- Method: GET
- Headers:
- x-access-token:
<your_jwt_token>
- Admin Route Example
- URL:
http://localhost:3000/api/example/admin
- Method: GET
- Headers:
- x-access-token:
<your_jwt_token>
To use these routes in Postman:
- Create a new request for each route.
- Set the HTTP method and URL as specified.
- For routes requiring authentication, add the
x-access-token
header with the JWT token you received from the login route. - For POST and PUT requests, set the body to “raw” and select JSON format, then input the provided JSON payload.
- Send the request and check the response.
Remember to replace :id
, :userId
, :groupId
, and :permissionId
with actual IDs when testing these routes. Also, make sure your server is running and the database is properly set up before testing these endpoints.