mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
docs: add description of the project users/roles endpoint
This commit is contained in:
parent
f92d86061a
commit
01f7293e2e
@ -646,3 +646,131 @@ Authorization:$KEY
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
## Manage project users and roles
|
||||
|
||||
You can add and remove users to a project using the `/api/admin/projects/:projectId/users/:userId/roles/:roleId` endpoint. When adding or removing users, you must also provide the ID for the role to give them (when adding) or the ID of the role they currently have (when removing).
|
||||
|
||||
There is no way to update a user's role directly at the moment. Instead, if you want to change a user's role, first remove the user from the project and then add them back with the desired role.
|
||||
|
||||
### Add a user to a project
|
||||
|
||||
``` http
|
||||
POST /api/admin/projects/:projectId/users/:userId/roles/:roleId
|
||||
```
|
||||
|
||||
This will add a user to a project and give the user a specified role within that project.
|
||||
|
||||
#### URL parameters
|
||||
|
||||
| Parameter | Type | Description | Example value |
|
||||
|-------------|---------|-----------------------------------------------------------------------|-------------------|
|
||||
| `userId` | integer | The ID of the user you want to add to the project. | `1` |
|
||||
| `projectId` | string | The id of the project to add the user to. | `"MyCoolProject"` |
|
||||
| `roleId` | integer | The id of the role you want to assign to the new user in the project. | `7` |
|
||||
|
||||
|
||||
#### Responses
|
||||
|
||||
<details>
|
||||
<summary>Responses data</summary>
|
||||
|
||||
##### 200 OK
|
||||
|
||||
The user was added to the project with the specified role.
|
||||
|
||||
``` json
|
||||
{ }
|
||||
```
|
||||
|
||||
##### 400 Bad Request
|
||||
|
||||
The user already exists in the project and cannot be added again:
|
||||
|
||||
``` json
|
||||
[
|
||||
{
|
||||
"msg": "User already has access to project=<projectId>"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
#### Example query
|
||||
|
||||
The following query would add the user with ID 42 to the _MyCoolProject_ project and give them the role with ID 13.
|
||||
|
||||
```bash
|
||||
http POST \
|
||||
http://localhost:4242/api/admin/projects/MyCoolProject/users/42/roles/13 \
|
||||
Authorization:$KEY
|
||||
```
|
||||
|
||||
### Remove a user from a project
|
||||
|
||||
``` http
|
||||
DELETE /api/admin/projects/:projectId/users/:userId/roles/:roleId
|
||||
```
|
||||
|
||||
This will remove the specified from user from the project. The user _must_ have the role indicated by the `:roleId` URL parameter for the request to succeed.
|
||||
|
||||
#### URL parameters
|
||||
|
||||
| Parameter | Type | Description | Example value |
|
||||
|-------------|---------|-----------------------------------------------------------------------|-------------------|
|
||||
| `userId` | integer | The ID of the user you want to remove from the project. | `1` |
|
||||
| `projectId` | string | The id of the project to remove the user from. | `"MyCoolProject"` |
|
||||
| `roleId` | integer | The current role the of the user you want to remove from the project. | `7` |
|
||||
|
||||
#### Responses
|
||||
|
||||
<details>
|
||||
<summary>Responses data</summary>
|
||||
|
||||
:::caution
|
||||
If you provide the wrong role id for the user, but there is another user in the same project with the role you provided, you'll get a 200 OK response indicating success, but the user will not be removed.
|
||||
:::
|
||||
|
||||
##### 200 OK
|
||||
|
||||
The user has been removed from the project.
|
||||
|
||||
``` json
|
||||
{ }
|
||||
```
|
||||
|
||||
##### 400 Bad Request
|
||||
|
||||
No user with the current role exists in the project:
|
||||
|
||||
|
||||
``` json
|
||||
[
|
||||
{
|
||||
"msg": "Couldn't find roleId=<roleId> on project=<projectId>"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
You tried to remove the only user with the role `owner` in the project:
|
||||
|
||||
``` json
|
||||
[
|
||||
{
|
||||
"msg": "A project must have at least one owner."
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
#### Example query
|
||||
|
||||
The following query would remove the user with ID 42 and role ID 13 from the _MyCoolProject_ project.
|
||||
```bash
|
||||
http DELETE \
|
||||
http://localhost:4242/api/admin/projects/MyCoolProject/users/42/roles/13 \
|
||||
Authorization:$KEY
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user