POST
/
v1
/
keys.setRoles
Set key roles
curl --request POST \
  --url https://api.unkey.dev/v1/keys.setRoles \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "keyId": "<string>",
  "roles": [
    {
      "id": "role_123"
    },
    {
      "name": "dns.record.create"
    },
    {
      "name": "dns.record.delete",
      "create": true
    }
  ]
}'
[
  {
    "id": "role_123",
    "name": "dns.record.create"
  }
]

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
keyId
string
required

The id of the key.

Minimum length: 1
roles
object[]
required

The roles you want to set for this key. This overwrites all existing roles. Setting roles requires the rbac.*.add_role_to_key permission.

Minimum length: 1
Example:
[
{ "id": "role_123" },
{ "name": "dns.record.create" },
{
"name": "dns.record.delete",
"create": true
}
]

Response

All currently connected roles

id
string
required

The id of the role. This is used internally

Example:

"role_123"

name
string
required

The name of the role

Example:

"dns.record.create"