POST
/
v1
/
keys.setRoles
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"
  }
]

Sets the roles of a key to a new set of roles. This endpoint overwrites the existing roles of the key with the new set. Existing roles that are not included in the new set are removed.

You can provide either role ids or role names in the request body. If you provide a name, we will create the role if it does not exist.

To use this endpoint, your root key must have the rbac.*.add_role_to_key and potentially the rbac.*.create_role permissions.

Changelog

DateChanges
Jul 08 2024Introduced endpoint

Authorizations

Authorization
string
header
required

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

Body

application/json

Response

200
application/json

All currently connected roles

The response is of type object[].