Skip to content
Last updated

The Role object defines permission sets that can be assigned to users within organizations. Freddy supports both global base roles (available to all organizations) and organization-specific custom roles.

Properties

Identity

id string required

Unique role identifier. Format: role_ followed by alphanumeric characters.

name string required

Role name (e.g., Member, Admin, Owner).

description string | null optional

Human-readable description of the role and its purpose.

Scope

organization_id string | null optional

Reference to the Organization this role belongs to. null for global base roles available to all organizations.

Permissions

permissions object | array | null optional

JSON object or array defining the role's permissions. Structure varies by role type.

Role Type

is_base_role boolean required

Whether this is a global base role (Member, Admin, Owner). Default: false.

is_custom boolean required

Whether this is a custom organization-specific role. Default: false.

Base Roles

Freddy provides three mandatory base roles for every organization:

Member

Basic member with read-only access to organization resources.

Admin

Administrator with full access to manage users, data, and organization settings (except billing).

Owner

Organization owner with complete control including billing and organization management.

Custom Roles

Organizations can create custom roles with tailored permission sets to match their specific needs.