Skip to content

Create a custom role

POST
/roles
curl --request POST \
--url https://example.com/api/v1/roles \
--header 'Content-Type: application/json' \
--cookie __Host-shardkeep_session=<__Host-shardkeep_session> \
--data '{ "name": "example", "description": "example", "permissions": [ "servers.read" ] }'
Media typeapplication/json
object
name
required
string
>= 1 characters <= 100 characters
description
string
<= 500 characters
permissions
required
Array<string>
unique items
Allowed values: servers.read servers.create servers.start servers.stop servers.delete servers.console servers.command servers.update files.read files.write files.delete plugins.read plugins.install plugins.update plugins.delete nodes.read nodes.manage backups.read backups.create backups.restore

Role created.

Media typeapplication/json
object
id
required
string format: uuid
name
required
string
description
required
string
builtin
required

Built-in roles can be assigned but not changed.

boolean
permissions
required
Array<string>
Allowed values: servers.read servers.create servers.start servers.stop servers.delete servers.console servers.command servers.update files.read files.write files.delete plugins.read plugins.install plugins.update plugins.delete nodes.read nodes.manage backups.read backups.create backups.restore
createdAt
required
string format: date-time
Example
{
"permissions": [
"servers.read"
]
}

The request is invalid.

Media typeapplication/problem+json

An RFC 9457 problem with a machine-readable code.

object
type
required
string
title
required
string
status
required
integer
detail
string
code
required

Stable machine-readable error code.

string
Example
{
"type": "about:blank",
"title": "Conflict",
"status": 409,
"code": "conflict"
}

Not signed in, or the credentials are invalid.

Media typeapplication/problem+json

An RFC 9457 problem with a machine-readable code.

object
type
required
string
title
required
string
status
required
integer
detail
string
code
required

Stable machine-readable error code.

string
Example
{
"type": "about:blank",
"title": "Conflict",
"status": 409,
"code": "conflict"
}

Signed in, but not allowed.

Media typeapplication/problem+json

An RFC 9457 problem with a machine-readable code.

object
type
required
string
title
required
string
status
required
integer
detail
string
code
required

Stable machine-readable error code.

string
Example
{
"type": "about:blank",
"title": "Conflict",
"status": 409,
"code": "conflict"
}

Clashes with existing data or state.

Media typeapplication/problem+json

An RFC 9457 problem with a machine-readable code.

object
type
required
string
title
required
string
status
required
integer
detail
string
code
required

Stable machine-readable error code.

string
Example
{
"type": "about:blank",
"title": "Conflict",
"status": 409,
"code": "conflict"
}