Multi-Role Feature

Update multi-role feature settings

Update multi-role feature settings for a project: enable/disable the feature, set which app role is the default at signup, and tune `settings` (`allowMultipleRoles`, `requireRoleSelection`, `autoAssignDefault`). This endpoint does **not** edit role definitions or permissions — use `POST/PATCH .../multi-role/roles` for that (same shape as **Add custom role**). Accepts: OrgBearerAuth (for admin users), ProjectBearerAuth (JWT for authenticated users), or ApiKeyAuth (X-API-Key for programmatic access). Both ProjectBearerAuth and ApiKeyAuth are fully implemented.

AuthBearer (JWT)
GroupMulti-Role Feature
Rate limitSee Rate Limits
PATCH/api/projects/{projectId}/multi-role/settings

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.updateMultiRoleSettings(
  "proj_tfTYSyRajG2b",
  {
    isEnabled: false,
    defaultRole: "driver navigate",
    settings: "bus generate"
  }
);
const { data: result } = await multirolefeature.updateMultiRoleSettings(
  "proj_tfTYSyRajG2b",
  {
    isEnabled: false,
    defaultRole: "driver navigate",
    settings: "bus generate"
  }
);

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

Request Body

json
{
  "isEnabled": true,
  "defaultRole": "customer",
  "settings": {
    "allowMultipleRoles": false,
    "requireRoleSelection": true,
    "autoAssignDefault": true,
    "dataOwnerField": "card compress"
  }
}
{
  "isEnabled": true,
  "defaultRole": "customer",
  "settings": {
    "allowMultipleRoles": false,
    "requireRoleSelection": true,
    "autoAssignDefault": true,
    "dataOwnerField": "card compress"
  }
}

Responses

200Settings updated
json
{
  "success": true,
  "message": "Multi-role settings updated",
  "data": {
    "isEnabled": true,
    "defaultRole": "customer",
    "settings": {
      "allowMultipleRoles": false,
      "requireRoleSelection": false,
      "autoAssignDefault": true,
      "dataOwnerField": "createdBy"
    },
    "roles": [
      {
        "slug": "customer",
        "name": "Customer",
        "description": "Default app user role. Edit name/slug and assign create/read/update/delete per collection after you add schemas.",
        "isEnabled": true,
        "isCustom": true,
        "signupEndpoint": "customer",
        "requiresApproval": false,
        "requiresPayment": false,
        "requiresKYC": false,
        "defaultPermissions": [],
        "collectionPermissions": []
      }
    ]
  }
}
{
  "success": true,
  "message": "Multi-role settings updated",
  "data": {
    "isEnabled": true,
    "defaultRole": "customer",
    "settings": {
      "allowMultipleRoles": false,
      "requireRoleSelection": false,
      "autoAssignDefault": true,
      "dataOwnerField": "createdBy"
    },
    "roles": [
      {
        "slug": "customer",
        "name": "Customer",
        "description": "Default app user role. Edit name/slug and assign create/read/update/delete per collection after you add schemas.",
        "isEnabled": true,
        "isCustom": true,
        "signupEndpoint": "customer",
        "requiresApproval": false,
        "requiresPayment": false,
        "requiresKYC": false,
        "defaultPermissions": [],
        "collectionPermissions": []
      }
    ]
  }
}
Edit this page on GitHub