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", "policies": [ { "effect": "allow", "permissionGroups": [ "responses.run" ], "resources": [ "example" ] } ] }'

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

Media typeapplication/json
object
name
required
string
>= 1 characters <= 120 characters
description
required
string
<= 1000 characters
policies
required
Array<object>
<= 50 items
object
effect
required
string
Allowed values: allow deny
permissionGroups
required
Array<string>
>= 1 items
Allowed values: responses.run sessions.read sessions.write requests.resolve agents.read agents.write agents.delegate triggers.read triggers.write channels.read channels.write channels.use channel_identities.read channel_identities.write connections.read connections.write apps.use apps.publish models.use tokens.read tokens.write organization.read organization.write roles.write model_providers.read model_providers.write sso.read sso.write platform.read platform.write members.read members.write audit_logs.read usage.read budgets.read budgets.write
resources
required
Array<string>
>= 1 items

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
policies
required
Array<object>
object
effect
required
string
Allowed values: allow deny
permissionGroups
required
Array<string>
>= 1 items
Allowed values: responses.run sessions.read sessions.write requests.resolve agents.read agents.write agents.delegate triggers.read triggers.write channels.read channels.write channels.use channel_identities.read channel_identities.write connections.read connections.write apps.use apps.publish models.use tokens.read tokens.write organization.read organization.write roles.write model_providers.read model_providers.write sso.read sso.write platform.read platform.write members.read members.write audit_logs.read usage.read budgets.read budgets.write
resources
required
Array<string>
>= 1 items

Example

{
"id": "super_administrator",
"policies": [
{
"effect": "allow",
"permissionGroups": [
"responses.run"
]
}
]
}

PolicyInvalid | OrganizationRequired

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

Example

{
"_tag": "PolicyInvalid"
}

AuthenticationRequired

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

Example

{
"_tag": "AuthenticationRequired"
}

PermissionDenied | MembershipRequired | ForbiddenOrigin

Media typeapplication/json
Any of:
object
_tag
required
string
Allowed values: PermissionDenied
permission
required
string
Allowed values: responses.run sessions.read sessions.write requests.resolve agents.read agents.write agents.delegate triggers.read triggers.write channels.read channels.write channels.use channel_identities.read channel_identities.write connections.read connections.write apps.use apps.publish models.use tokens.read tokens.write organization.read organization.write roles.write model_providers.read model_providers.write sso.read sso.write platform.read platform.write members.read members.write audit_logs.read usage.read budgets.read budgets.write
resource
required
string

Example

{
"_tag": "PermissionDenied",
"permission": "responses.run"
}

RoleNotFound

Media typeapplication/json
object
_tag
required
string
Allowed values: RoleNotFound
roleId
required
string

Example

{
"_tag": "RoleNotFound"
}

RoleInUse | RoleReadOnly

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

Example

{
"_tag": "RoleInUse"
}

RateLimited

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

Example

{
"_tag": "RateLimited"
}

OrganizationStorageUnavailable | AuthorizationUnavailable | AuthenticationUnavailable

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

Example

{
"_tag": "OrganizationStorageUnavailable"
}