Create a new role
POSThttps://us.app.unleash-hosted.com/ushosted/api/admin/roles
Create a new custom role for Role-Based Access Control
Request
- application/json
Body
required
createRoleWithPermissionsSchema
- MOD1
- MOD2
anyOf
The name of the custom role
external-contributors
A more detailed description of the custom role and what use it's intended for
Users with external-contributors role have limited access to most features in Unleash
Custom root roles (type=root-custom) are root roles with a custom set of permissions. Custom project roles (type=custom) contain a specific set of permissions for project resources.
Possible values: [root-custom
, custom
]
root-custom
permissions
object[]
The name of the custom role
external-contributors
A more detailed description of the custom role and what use it's intended for
Users with external-contributors role have limited access to most features in Unleash
Custom project roles contain a specific set of permissions for project resources.
Possible values: [custom
]
custom
permissions
object[]
Responses
- 200
- 400
- 401
- 403
- 409
roleWithVersionSchema
- application/json
- Schema
- Example (from schema)
Schema
The version of this schema
Possible values: >= 1
1
roles
object
required
{
"version": 1,
"roles": {
"id": 9,
"type": "root",
"name": "Editor",
"description": "Users with the editor role have access to most features in Unleash but can not manage users and roles in the global scope. Editors will be added as project owners when creating projects and get superuser rights within the context of these projects. Users with the editor role will also get access to most permissions on the default project by default.",
"project": "default"
}
}
The request data does not match what we expect.
- application/json
- Schema
- Example (from schema)
Schema
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
ValidationError
A description of what went wrong.
The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent [].
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "ValidationError",
"message": "The request payload you provided doesn't conform to the schema. The .parameters property should be object. You sent []."
}
Authorization information is missing or invalid. Provide a valid API token as the authorization
header, e.g. authorization:*.*.my-admin-token
.
- application/json
- Schema
- Example (from schema)
Schema
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
AuthenticationRequired
A description of what went wrong.
You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "AuthenticationRequired",
"message": "You must log in to use Unleash. Your request had no authorization header, so we could not authorize you. Try logging in at /auth/simple/login."
}
The provided user credentials are valid, but the user does not have the necessary permissions to perform this operation
- application/json
- Schema
- Example (from schema)
Schema
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
NoAccessError
A description of what went wrong.
You need the "UPDATE_ADDON" permission to perform this action in the "development" environment.
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "NoAccessError",
"message": "You need the \"UPDATE_ADDON\" permission to perform this action in the \"development\" environment."
}
The provided resource can not be created or updated because it would conflict with the current state of the resource or with an already existing resource, respectively.
- application/json
- Schema
- Example (from schema)
Schema
The ID of the error instance
9c40958a-daac-400e-98fb-3bb438567008
The name of the error kind
NameExistsError
A description of what went wrong.
There is already a feature called "my-awesome-feature".
{
"id": "9c40958a-daac-400e-98fb-3bb438567008",
"name": "NameExistsError",
"message": "There is already a feature called \"my-awesome-feature\"."
}
Authorization: Authorization
name: Authorizationtype: apiKeyin: headerdescription: API key needed to access this API
- curl
- python
- go
- nodejs
- ruby
- csharp
- php
- java
- powershell
- CURL
curl -L 'https://us.app.unleash-hosted.com/ushosted/api/admin/roles' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: <API_KEY_VALUE>' \
-d '{
"name": "external-contributors",
"description": "Users with external-contributors role have limited access to most features in Unleash",
"type": "root-custom",
"permissions": [
{
"name": "CREATE_PROJECT",
"environment": "development"
}
]
}'