Multi-Role Feature

Get permissions matrix (collections + featurePermissions)

Dashboard helper: per-collection permission rows (role actions, `dataScope`, conditions) and a per-role `featurePermissions` snapshot used by app-role feature gates (messaging, integrations, storage, etc.).

AuthBearer (JWT)
GroupMulti-Role Feature
Rate limitSee Rate Limits
GET/api/projects/{projectId}/permissions-matrix

SDK setup

Create a client and set credentials (JWT and/or API key) before calling the API. Match the authentication type shown above.

import { Configuration, MultiRoleFeatureApi } from 'mudbase-sdk';

const configuration = new Configuration({
  basePath: 'https://cloud.mudbase.dev',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});

const multirolefeature = new MultiRoleFeatureApi(configuration);
import { Configuration, MultiRoleFeatureApi } from 'mudbase-sdk';

const configuration = new Configuration({
  basePath: 'https://cloud.mudbase.dev',
  accessToken: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig',
});

const multirolefeature = new MultiRoleFeatureApi(configuration);

Example request

Call this endpoint using the client from SDK setup. Use View HTTP for a raw cURL example.

const { data: result } = await multirolefeature.getPermissionsMatrix("proj_Ex0bA0y0ygZj");
const { data: result } = await multirolefeature.getPermissionsMatrix("proj_Ex0bA0y0ygZj");

Playground

live

Test this endpoint with your own credentials. Your requests will be sent to the live API.

Use the auth endpoints to obtain a JWT.

No Request Yet

Send a request to see the full inspector

Authentication

Requires JWT
Note
Include your JWT in the Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →

Path Parameters

NameTypeRequiredDescription
projectIdstringYes

Responses

200Matrix payload
json
{
  "success": true,
  "data": {
    "collections": [
      {
        "id": "507f1f77bcf86cd799439011",
        "name": "Orders",
        "slug": "orders",
        "permissions": [
          {
            "role": "customer",
            "actions": [
              "read",
              "create"
            ],
            "hasConditions": false,
            "dataScope": "own",
            "ownerField": "createdBy"
          }
        ],
        "stateMachine": null
      }
    ],
    "roles": [
      {
        "slug": "customer",
        "name": "Customer"
      }
    ],
    "features": [
      {
        "slug": "customer",
        "featurePermissions": {
          "messaging": {
            "email": true,
            "sms": true,
            "push": false
          },
          "integration": {
            "execute": true,
            "read": true
          }
        }
      }
    ]
  }
}
{
  "success": true,
  "data": {
    "collections": [
      {
        "id": "507f1f77bcf86cd799439011",
        "name": "Orders",
        "slug": "orders",
        "permissions": [
          {
            "role": "customer",
            "actions": [
              "read",
              "create"
            ],
            "hasConditions": false,
            "dataScope": "own",
            "ownerField": "createdBy"
          }
        ],
        "stateMachine": null
      }
    ],
    "roles": [
      {
        "slug": "customer",
        "name": "Customer"
      }
    ],
    "features": [
      {
        "slug": "customer",
        "featurePermissions": {
          "messaging": {
            "email": true,
            "sms": true,
            "push": false
          },
          "integration": {
            "execute": true,
            "read": true
          }
        }
      }
    ]
  }
}
Edit this page on GitHub