PlatformXeDocs
Get API Key

Module Permissions

Manage module-action assignments on Full-model roles.

Module permissions assign specific actions on specific modules to roles using the Full model.

Scope: permissions:manage

Rate limit: 500/hr

List module permissions

GET /api/v1/permissions/roles/:id/modules

Returns all module-action pairs assigned to a role.

curl https://api.platformxe.com/api/v1/permissions/roles/role_abc123/modules \
  -H "x-api-key: pxk_live_your_api_key_here"
const modules = await px.permissions.listModulePermissions('role_abc123');

Response

{
  "success": true,
  "data": {
    "roleId": "role_abc123",
    "modules": [
      { "moduleId": "mod_bookings", "actions": ["READ", "CREATE", "UPDATE"] },
      { "moduleId": "mod_properties", "actions": ["READ", "LIST"] }
    ]
  }
}

Replace module permissions

PUT /api/v1/permissions/roles/:id/modules

Replaces the entire module permission set for a role. Modules not included in the request are removed.

FieldTypeRequiredDescription
modulesarrayYesArray of module-action assignments
modules[].moduleIdstringYesID of the registered module
modules[].actionsstring[]YesActions to grant on this module
curl -X PUT https://api.platformxe.com/api/v1/permissions/roles/role_abc123/modules \
  -H "Content-Type: application/json" \
  -H "x-api-key: pxk_live_your_api_key_here" \
  -d '{
    "modules": [
      { "moduleId": "mod_bookings", "actions": ["READ", "CREATE", "UPDATE", "DELETE"] },
      { "moduleId": "mod_properties", "actions": ["READ", "LIST"] },
      { "moduleId": "mod_invoices", "actions": ["READ"] }
    ]
  }'
await px.permissions.setModulePermissions('role_abc123', {
  modules: [
    { moduleId: 'mod_bookings', actions: ['READ', 'CREATE', 'UPDATE', 'DELETE'] },
    { moduleId: 'mod_properties', actions: ['READ', 'LIST'] },
    { moduleId: 'mod_invoices', actions: ['READ'] },
  ],
});

Actions must match those defined when the module was registered. Attempting to assign an action that the module does not support returns a BAD_REQUEST error.

Error responses

CodeDescription
BAD_REQUESTInvalid moduleId or unsupported action
NOT_FOUNDRole or module does not exist
FORBIDDENAPI key missing permissions:manage scope