Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.metabind.ai/llms.txt

Use this file to discover all available pages before exploring further.

Metabind provides several common role templates that you can use as starting points when creating custom roles.

Owner Role

Full organization control with all permissions enabled.
{
  "name": "owner",
  "description": "Full organization control",
  "permissions": {
    "organizations": { "read": true, "update": true, "delete": true },
    "projects": { "create": true, "read": true, "update": true, "delete": true },
    "users": { "create": true, "read": true, "update": true, "delete": true },
    "roles": { "create": true, "read": true, "update": true, "delete": true },
    "apiKeys": { "create": true, "read": true, "update": true, "delete": true },
    "components": { "create": true, "read": true, "update": true, "delete": true },
    "packages": { "create": true, "read": true, "update": true, "delete": true },
    "contentTypes": { "create": true, "read": true, "update": true, "publish": true, "delete": true },
    "content": { "create": true, "read": true, "update": true, "publish": true, "delete": true },
    "assets": { "create": true, "read": true, "update": true, "delete": true }
  }
}

Admin Role

Full administrative access without organization deletion.
{
  "name": "admin",
  "description": "Full administrative access",
  "permissions": {
    "organizations": { "read": true, "update": true, "delete": false },
    "projects": { "create": true, "read": true, "update": true, "delete": true },
    "users": { "create": true, "read": true, "update": true, "delete": true },
    "roles": { "create": true, "read": true, "update": true, "delete": true },
    "apiKeys": { "create": true, "read": true, "update": true, "delete": true },
    "components": { "create": true, "read": true, "update": true, "delete": true },
    "packages": { "create": true, "read": true, "update": true, "delete": true },
    "contentTypes": { "create": true, "read": true, "update": true, "publish": true, "delete": true },
    "content": { "create": true, "read": true, "update": true, "publish": true, "delete": true },
    "assets": { "create": true, "read": true, "update": true, "delete": true }
  }
}

Developer Role

Component and package development focus.
{
  "name": "developer",
  "description": "Component and package development",
  "permissions": {
    "organizations": { "read": true, "update": false, "delete": false },
    "projects": { "create": false, "read": true, "update": true, "delete": false },
    "users": { "create": false, "read": false, "update": false, "delete": false },
    "roles": { "create": false, "read": false, "update": false, "delete": false },
    "apiKeys": { "create": true, "read": true, "update": false, "delete": true },
    "components": { "create": true, "read": true, "update": true, "delete": true },
    "packages": { "create": true, "read": true, "update": true, "delete": false },
    "contentTypes": { "create": true, "read": true, "update": true, "publish": false, "delete": false },
    "content": { "create": false, "read": true, "update": false, "publish": false, "delete": false },
    "assets": { "create": false, "read": true, "update": false, "delete": false }
  }
}

Editor Role

Content management with publishing rights.
{
  "name": "editor",
  "description": "Content management with publishing rights",
  "permissions": {
    "organizations": { "read": true, "update": false, "delete": false },
    "projects": { "create": false, "read": true, "update": false, "delete": false },
    "users": { "create": false, "read": false, "update": false, "delete": false },
    "roles": { "create": false, "read": false, "update": false, "delete": false },
    "apiKeys": { "create": false, "read": false, "update": false, "delete": false },
    "components": { "create": false, "read": true, "update": false, "delete": false },
    "packages": { "create": false, "read": true, "update": false, "delete": false },
    "contentTypes": { "create": false, "read": true, "update": false, "publish": false, "delete": false },
    "content": { "create": true, "read": true, "update": true, "publish": true, "delete": true },
    "assets": { "create": true, "read": true, "update": true, "delete": true }
  }
}

Writer Role

Create and edit content drafts without publishing.
{
  "name": "writer",
  "description": "Create and edit content drafts without publishing",
  "permissions": {
    "organizations": { "read": true, "update": false, "delete": false },
    "projects": { "create": false, "read": true, "update": false, "delete": false },
    "users": { "create": false, "read": false, "update": false, "delete": false },
    "roles": { "create": false, "read": false, "update": false, "delete": false },
    "apiKeys": { "create": false, "read": false, "update": false, "delete": false },
    "components": { "create": false, "read": true, "update": false, "delete": false },
    "packages": { "create": false, "read": true, "update": false, "delete": false },
    "contentTypes": { "create": false, "read": true, "update": false, "publish": false, "delete": false },
    "content": { "create": true, "read": true, "update": true, "publish": false, "delete": false },
    "assets": { "create": true, "read": true, "update": true, "delete": false }
  }
}

Viewer Role

Read-only access to all resources.
{
  "name": "viewer",
  "description": "Read-only access",
  "permissions": {
    "organizations": { "read": true, "update": false, "delete": false },
    "projects": { "create": false, "read": true, "update": false, "delete": false },
    "users": { "create": false, "read": false, "update": false, "delete": false },
    "roles": { "create": false, "read": false, "update": false, "delete": false },
    "apiKeys": { "create": false, "read": false, "update": false, "delete": false },
    "components": { "create": false, "read": true, "update": false, "delete": false },
    "packages": { "create": false, "read": true, "update": false, "delete": false },
    "contentTypes": { "create": false, "read": true, "update": false, "publish": false, "delete": false },
    "content": { "create": false, "read": true, "update": false, "publish": false, "delete": false },
    "assets": { "create": false, "read": true, "update": false, "delete": false }
  }
}

Using Templates

To create a role based on a template, copy the JSON structure and modify it as needed:
// Create a custom role based on the editor template
const customRole = {
  name: 'senior-editor',
  description: 'Editor with content type management',
  permissions: {
    // Start with editor permissions
    ...editorPermissions,
    // Add content type update permission
    contentTypes: {
      create: false,
      read: true,
      update: true,  // Added
      publish: false,
      delete: false
    }
  }
};

const response = await fetch(
  'https://api.metabind.ai/app/v1/organizations/org123/roles',
  {
    method: 'POST',
    headers: {
      'Authorization': 'Bearer YOUR_JWT',
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(customRole)
  }
);