const { result, error } = await unkey.keys.addPermissions({
  keyId: "key_123",
  permissions: [{
    "name": "email.test",
    "create": true
  }]
})

if (error) {
  // handle potential network or bad request error
  // a link to our docs will be in the `error.docs` field
  console.error(error.message);
  return;
}

console.log(result)
{
  "result": [
    {
      "id": 'perm_45TTRKT5Yh28M6Qj',
      "name": 'email.test'
    }
  ]
}
const { result, error } = await unkey.keys.addPermissions({
  keyId: "key_123",
  permissions: [{
    "name": "email.test",
    "create": true
  }]
})

if (error) {
  // handle potential network or bad request error
  // a link to our docs will be in the `error.docs` field
  console.error(error.message);
  return;
}

console.log(result)
{
  "result": [
    {
      "id": 'perm_45TTRKT5Yh28M6Qj',
      "name": 'email.test'
    }
  ]
}

To use this function, your root key must have the rbac.*.add_permission_to_key and the rbac.*.create_permission permissions if you plan on creating permissions on the fly.

Request

keyId
string
required

The id of the key

permissions
object[]
required

The permissions you want to add to this key

Response

result
object[]