Skip to main content
Roles define sets of permissions that can be assigned to users, controlling their access to various features and resources within Metabind. Users follow a pure Role-Based Access Control (RBAC) model where permissions are never stored directly on user objects.

The Role Object

string
Unique identifier (UUID)
string
Role name (e.g., “editor”, “developer”)
string
Role description
object
Permission settings for each resource type
string
Creation timestamp (ISO 8601 format)
string
Last update timestamp (ISO 8601 format)

Permission Categories

Roles control access to 10 resource types, each with specific actions:

Administrative Resources

Development Resources

Content Resources

Content and content types have a separate publish permission, allowing editorial workflows where users can create and update drafts but not publish.

Inherited Permissions

Certain organizational features inherit permissions from related core resources:
  • Collections: Inherit from components permissions
  • Folders: Inherit from the resources they organize
  • Saved Searches: Inherit from content and assets permissions
  • Tags: Inherit from content and assets permissions
  • Preview Links: Inherit from source resource permissions

Example Role Object

Permission Computation

When checking a user’s permissions:
  1. All roles assigned to the user are retrieved
  2. Permissions from all roles are merged using OR logic
  3. If any role grants a permission, the user has that permission
This allows flexible role composition where users can have multiple specialized roles.