Skip to main content

permission_already_exists

A permission with this slug already exists in your Unkey workspace. Use the existing permission or choose a different unique slug for the new one.
2 min read
Danger
err:unkey:data:permission_already_exists
Example

What Happened?#

This error occurs when you're trying to create a permission with a name that already exists in your Unkey workspace. Permission names must be unique within a workspace to avoid confusion and maintain proper access control.

Common scenarios that trigger this error:

  • Creating a permission with a name that's already in use
  • Re-creating a previously deleted permission with the same name
  • Migration or import processes that don't check for existing permissions
  • Duplicate API calls due to retries or network issues

Here's an example of a request that would trigger this error:

How To Fix#

When you encounter this error, you have several options:

  1. Use a different name: If creating a new permission, use a unique name
  2. Get the existing permission: If you just need the permission information, retrieve it rather than creating it
  3. List existing permissions: Check what permissions already exist before creating new ones
  4. Implement idempotent creation: Use a get-or-create pattern in your code

Here's how to list existing permissions:

Or implement a get-or-create pattern in your code:

Common Mistakes#

  • Not checking for existing permissions: Failing to check if a permission already exists before creating it
  • Case sensitivity: Permission names are case-insensitive - "Admin" and "admin" are the same
  • Retry loops: Repeatedly trying to create the same permission after a failure
  • Cross-environment duplication: Using the same permission names across development and production without proper namespacing