multiRole
Update multi-role feature settings
Update multi-role feature settings: enable/disable the feature, `defaultRole`, and `settings` (`allowMultipleRoles`, `requireRoleSelection`, `autoAssignDefault`, `dataOwnerField`). Does not edit role definitions — use `POST/PATCH .../multi-role/roles` (same body shape as add role). Accepts BearerToken (JWT) or ApiKeyAuth (X-API-Key).
/api/projects/{projectId}/multi-role/settingsAuthentication
Authorization: Bearer YOUR_TOKEN header (user-facing apps, RBAC). View authentication guide →Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | Project ID. |
Request Body
Feature flags only — not per-role approval. Use `settings.allowMultipleRoles`, `requireRoleSelection`, `autoAssignDefault`, `dataOwnerField`.
{
"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"
}
}SDK setup
Create a client and set credentials (JWT and/or API key) before calling the API. Match the authentication type shown above.
import { MudbaseClient } from "mudbase";
const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");import { MudbaseClient } from "mudbase";
const client = new MudbaseClient();
client.setJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c3JfbW9yZ2FuX2RlIiwiZW1haWwiOiJtb3JnYW4uY2hlbkBub3J0aHdpbmQuZGV2IiwiZXhwIjoxODI1MTI5NjAwfQ.doc_preview_sig");Example request
Call this endpoint using the client from SDK setup. Use View HTTP for a raw cURL example.
const result = await client.multiRole.updateSettings({
projectId: "proj_OsyVU9Q83zlk",
isEnabled: true,
defaultRole: "interface back up",
settings: "hard drive connect"
});const result = await client.multiRole.updateSettings({
projectId: "proj_OsyVU9Q83zlk",
isEnabled: true,
defaultRole: "interface back up",
settings: "hard drive connect"
});Try It Live
Test this endpoint with your own credentials. Your requests will be sent to the live API.
No Request Yet
Send a request to see the full inspector
Responses
{
"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": []
}
]
}
}Errors
| Code | Meaning |
|---|---|
400 | Bad request or validation error. |
401 | Authentication required or invalid token. |
403 | Access denied or insufficient permissions. |