Skip to content

organization.createRole

POST
/v1/organization/roles
curl --request POST \
--url https://example.com/v1/organization/roles \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "description": "example", "policy": "example" }'

Creates a custom role. Its policy cannot allow anything that you cannot do yourself.

Media typeapplication/json
object
name
required
string
>= 1 characters <= 120 characters
description
required
string
<= 1000 characters
policy
required
string

Example generated

{
"name": "example",
"description": "example",
"policy": "example"
}

Success

Media typeapplication/json
object
id
required
Any of:
string
Allowed values: super_administrator administrator administrator_read_only member auditor
name
required
string
description
required
string
builtin
required
boolean
policy
required
string

Example

{
"id": "super_administrator"
}

OrganizationRequired

Media typeapplication/json
object
_tag
required
string
Allowed values: OrganizationRequired

Example

{
"_tag": "OrganizationRequired"
}

AuthenticationRequired

Media typeapplication/json
object
_tag
required
string
Allowed values: AuthenticationRequired

Example

{
"_tag": "AuthenticationRequired"
}

@nmnmcc/ability/Authorizer/Forbidden | MembershipRequired | ForbiddenOrigin

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: Forbidden
action
required
string
kind
required
string
field
string
reason
string

Example

{
"_tag": "Forbidden"
}

RoleNotFound

Media typeapplication/json
object
_tag
required
string
Allowed values: RoleNotFound
roleId
required
Any of:
string
Allowed values: super_administrator administrator administrator_read_only member auditor

Example

{
"_tag": "RoleNotFound",
"roleId": "super_administrator"
}

@nmnmcc/ability/Authorizer/Pending | RoleInUse | RoleReadOnly

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: Pending
ticket
required
string
reason
string

Example

{
"_tag": "Pending"
}

RateLimited

Media typeapplication/json
object
_tag
required
string
Allowed values: RateLimited
retryAfterSeconds
required
integer
>= -9007199254740991 <= 9007199254740991

Example

{
"_tag": "RateLimited"
}

OrganizationStorageUnavailable | AuthenticationUnavailable | RequestFailed

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: OrganizationStorageUnavailable

Example

{
"_tag": "OrganizationStorageUnavailable"
}