Service Files:
- Private:
service/private/adminpanel.js
Available Services: 44
Documented Services: 43
adminpanel.organisation_add
Create a new organisation for the current domain owner. Requires an active subscription, no existing organisation, and an available ident. Creates the domain, grants owner privilege, and persists the organisation record.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Admin (16) |
Endpoint:
https://hostname/-/svc/adminpanel.organisation_add
Parameters
| Parameter | Type | Required | Default | Description |
|---|
name | string | Yes | - | Display name of the new organisation |
ident | string | Yes | - | Unique identifier for the organisation (lowercased). Must not already be registered as an ident in the system. |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
INVALID_SUBSCRIPTION | 403 | Current user has no active subscription |
ORGANISATION_ALREADY_EXITS | 409 | Current user already belongs to an organisation |
IDENT_NOT_AVAILABLE | 409 | Requested ident is already registered in the system |
adminpanel.organisation_update
Update the display name of the current user's organisation. Requires admin-level privilege within the domain.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Admin (16) |
Endpoint:
https://hostname/-/svc/adminpanel.organisation_update
Parameters
| Parameter | Type | Required | Default | Description |
|---|
name | string | Yes | - | New display name for the organisation |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NO_ORG_TO_UPDATE | 404 | Current user is not a member of any organisation |
INVALID_ORG | 403 | Current user's organisation does not match the domain organisation |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have the required admin privilege level |
adminpanel.organisation_update_password_level
Update the password strength policy level for the organisation. Requires security admin privilege.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Delete (8) |
Endpoint:
https://hostname/-/svc/adminpanel.organisation_update_password_level
Parameters
| Parameter | Type | Required | Default | Description |
|---|
option | string | Yes | - | Password policy level option to apply (accepted by organisation_update_password_level procedure) |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NO_ORG_TO_UPDATE | 404 | Current user is not a member of any organisation |
INVALID_ORG | 403 | Organisation mismatch between caller and domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have security admin privilege |
adminpanel.organisation_update_double_auth
Update the two-factor authentication policy for the organisation. Requires security admin privilege.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Delete (8) |
Endpoint:
https://hostname/-/svc/adminpanel.organisation_update_double_auth
Parameters
| Parameter | Type | Required | Default | Description |
|---|
option | string | Yes | - | Double auth policy option to apply (accepted by organisation_update_double_auth procedure) |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NO_ORG_TO_UPDATE | 404 | Current user is not a member of any organisation |
INVALID_ORG | 403 | Organisation mismatch between caller and domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have security admin privilege |
adminpanel.organisation_update_dir_visiblity
Update the directory visibility policy for the organisation (controls whether member profiles are discoverable). Requires security admin privilege. Note: method name preserves intentional legacy spelling.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Delete (8) |
Endpoint:
https://hostname/-/svc/adminpanel.organisation_update_dir_visiblity
Parameters
| Parameter | Type | Required | Default | Description |
|---|
option | string | Yes | - | Visibility policy option accepted by organisation_update_dir_visiblity procedure |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NO_ORG_TO_UPDATE | 404 | Current user is not a member of any organisation |
INVALID_ORG | 403 | Organisation mismatch between caller and domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have security admin privilege |
adminpanel.organisation_update_dir_info
Update the directory information policy for the organisation (controls which member fields are visible in directory listings). Requires security admin privilege.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Delete (8) |
Endpoint:
https://hostname/-/svc/adminpanel.organisation_update_dir_info
Parameters
| Parameter | Type | Required | Default | Description |
|---|
option | string | Yes | - | Directory info policy option accepted by organisation_update_dir_info procedure |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NO_ORG_TO_UPDATE | 404 | Current user is not a member of any organisation |
INVALID_ORG | 403 | Organisation mismatch between caller and domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have security admin privilege |
adminpanel.my_subscription
Retrieve the current user's active subscription record.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Anonymous (1) |
Endpoint:
https://hostname/-/svc/adminpanel.my_subscription
Parameters
No parameters
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
Error codes not documented
adminpanel.my_organisation
Retrieve the organisation that the current user belongs to.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Anonymous (1) |
Endpoint:
https://hostname/-/svc/adminpanel.my_organisation
Parameters
No parameters
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
Error codes not documented
adminpanel.my_privilege
Retrieve the current user's privilege level within the domain. Returns dom_owner if the user has an active subscription, otherwise returns the privilege level from their organisation membership.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Anonymous (1) |
Endpoint:
https://hostname/-/svc/adminpanel.my_privilege
Parameters
No parameters
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
properties | any | - |
Possible Errors
Error codes not documented
adminpanel.setPassword
Forcibly set a user's password by their ID. Admin operation that does not require the current password. Note: method name uses legacy camelCase.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Delete (8) |
Endpoint:
https://hostname/-/svc/adminpanel.setPassword
Parameters
| Parameter | Type | Required | Default | Description |
|---|
id | string | Yes | - | ID of the user whose password to set |
password | string | Yes | - | New plain-text password to assign |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
INVALID_DATA | 400 | id or password parameter is missing |
adminpanel.set_mfa
Enable or disable multi-factor authentication for a specific member. Updates the user's otp and mfa profile fields and sends a notification email to the affected user.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Admin (16) |
Endpoint:
https://hostname/-/svc/adminpanel.set_mfa
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member to update MFA settings for |
mfa | number | No | - | MFA mode to set. 0 to disable, non-zero to enable. Defaults to 0. |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
INVALID_DATA | 400 | user_id is required |
INVALID_USER | 404 | No user found for the given user_id |
adminpanel.role_add
Add a new role to the current domain's organisation. Requires member-admin privilege level.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.role_add
Parameters
| Parameter | Type | Required | Default | Description |
|---|
name | string | Yes | - | Display name for the new role |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have member-admin privilege level |
adminpanel.role_show
List all roles defined for the current domain's organisation, paginated. Requires at least admin-view privilege.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Read (2) |
Endpoint:
https://hostname/-/svc/adminpanel.role_show
Parameters
| Parameter | Type | Required | Default | Description |
|---|
page | number | No | - | Page number for pagination (default: 1) |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have admin-view privilege level |
adminpanel.role_delete
Delete a role from the current domain's organisation by role ID. Requires member-admin privilege. The role must exist.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.role_delete
Parameters
| Parameter | Type | Required | Default | Description |
|---|
role_id | string | Yes | - | ID of the role to delete |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have member-admin privilege level |
ROLE_NOT_EXISTS | 404 | No role found with the given role_id in the organisation |
adminpanel.role_assign
Assign one or more roles to a member within the current domain's organisation. Validates that all provided role IDs exist before assigning.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.role_assign
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member to assign roles to |
role | array | No | - | Array of role IDs to assign. Mutually usable with list parameter. |
list | array | No | - | Array of role IDs to assign. Mutually usable with role parameter. |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
ROLE_NOT_EXISTS | 404 | One or more provided role IDs do not exist in the organisation |
adminpanel.role_assigned
Retrieve the list of roles currently assigned to a specific member within the current domain's organisation.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Read (2) |
Endpoint:
https://hostname/-/svc/adminpanel.role_assigned
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member whose assigned roles to retrieve |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
adminpanel.role_rename
Rename an existing role in the current domain's organisation. No-op if the new name is identical to the current name.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.role_rename
Parameters
| Parameter | Type | Required | Default | Description |
|---|
role_id | string | Yes | - | ID of the role to rename |
name | string | Yes | - | New display name for the role |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have member-admin privilege level |
ROLE_NOT_EXISTS | 404 | No role found with the given role_id in the organisation |
adminpanel.role_reposition
Reorder roles within the organisation by updating their rank positions.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.role_reposition
Parameters
| Parameter | Type | Required | Default | Description |
|---|
content | array | Yes | - | Array of role positioning records passed as-is to role_reposition procedure. Each item should include the role ID and its new position index. |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
Error codes not documented
adminpanel.member_add
Create and register a new member in the domain's organisation. Creates the user account, default storage hubs, default folder structure, sends an invitation email, and sets up contact assignments and ticket permissions. Validates organisation quota before creation.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.member_add
Parameters
| Parameter | Type | Required | Default | Description |
|---|
email | string | Yes | - | Email address for the new member. Must not already be registered in the system. |
firstname | string | No | - | First name of the new member |
lastname | string | No | - | Last name of the new member |
mobile | string | No | - | Mobile phone number (optional, used for SMS-based OTP) |
areacode | string | No | - | International dialing area code for the mobile number |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
properties | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found or quota check failed for the current domain |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have member-admin privilege level |
EMAIL_NOT_AVAILABLE | 409 | The provided email address is already registered in the system |
INTERNAL_ERROR | 500 | Account creation failed at the database level |
adminpanel.member_update
Update an existing member's profile, role assignments, and OTP settings within the organisation. Validates privilege hierarchy (caller must outrank the target). Sends notification and re-authentication links if contact information changes.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.member_update
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member to update |
firstname | string | Yes | - | Updated first name |
lastname | string | Yes | - | Updated last name |
email | string | Yes | - | Updated email address. Must be a valid email format. If changed, must not already be registered. |
address | string | No | - | Updated physical address |
mobile | string | No | - | Updated mobile phone number |
areacode | string | No | - | Updated international dialing area code |
otp | number | No | - | OTP mode to set. Accepted values: 0 or 1. Defaults to 0. |
role | array | No | - | Array of role IDs to assign. Replaces all current role assignments. Mutually usable with list parameter. |
list | array | No | - | Array of role IDs to assign. Mutually usable with role parameter. |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain or target member |
INVALID_ORG | 403 | Target member does not belong to the same organisation as the caller |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have sufficient privilege over the target member |
INCORRECT_DOMAIN | 403 | Target member has no domain privilege record |
DRUMATE_NOT_EXISTS | 404 | No user found with the given user_id |
EMAIL_NOT_AVAILABLE | 409 | The new email address is already registered |
ROLE_NOT_EXISTS | 404 | One or more role IDs in the provided list do not exist |
NO_MEMBER | 404 | Target user is not a member of the organisation |
MOBILE_EMPTY | 400 | OTP is enabled but no mobile number was provided |
AREACODE_EMPTY | 400 | OTP is enabled but no area code was provided |
INVALID_EMAIL_FORMAT | 400 | Provided email address is not a valid format |
INVALID_PHONE_FORMAT | 400 | Provided mobile number is not a valid phone number format |
adminpanel.member_delete
Move a member to the Free plan (domain_id=1) instead of deleting them permanently. The member leaves all paid domain hubs; hub ownership is transferred to domain admins where applicable. Sends a removal notification email and broadcasts the change via WebSocket. Caller must have admin privilege and must outrank the target member.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Admin (16) |
Endpoint:
https://hostname/-/svc/adminpanel.member_delete
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member to move to the Free plan |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
properties | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | Sanity check failed: user not found, missing db_name, or domain mismatch |
NO_MEMBER | 404 | Target user is not a member of the organisation |
NOT_ENOUGH_PRIVILEGE | 403 | Caller's privilege is lower than the target member's privilege |
INCORRECT_DOMAIN | 403 | Target member has no domain privilege record |
adminpanel.member_disconnect
Permanently remove a member who has never connected (connected=0) from the organisation. Removes them from all hubs, transfers hub ownership to eligible members, and deletes their home directory. This is a destructive, irreversible operation. Caller must have admin privilege and must outrank the target member.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Admin (16) |
Endpoint:
https://hostname/-/svc/adminpanel.member_disconnect
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the never-connected member to permanently remove |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
properties | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain or target member |
NO_MEMBER | 404 | Target user is not a member of the organisation |
INVALID_STATUS | 409 | Target member is already connected (connected=1); use member_delete instead |
INVALID_ORG | 403 | Organisation mismatch between caller and target member |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have sufficient domain admin privilege |
INCORRECT_DOMAIN | 403 | Target member has no domain privilege record |
adminpanel.member_show
Retrieve the full profile and role assignments for a specific member in the current domain's organisation.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Read (2) |
Endpoint:
https://hostname/-/svc/adminpanel.member_show
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member to retrieve |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
adminpanel.member_list
List members of the current domain's organisation with pagination. Supports filtering by role, keyword search, and member type.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Read (2) |
Endpoint:
https://hostname/-/svc/adminpanel.member_list
Parameters
| Parameter | Type | Required | Default | Description |
|---|
role_id | string | No | - | Filter members by role ID. Defaults to 0 (all roles). |
key | string | No | - | Keyword to filter members by name or email |
page | number | No | - | Page number for pagination (default: 1) |
option | string | No | - | Member type filter passed to member_list procedure (default: member) |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | No organisation found for the current domain |
adminpanel.member_change_status
Change a member's account status within the organisation. Valid transitions: active or archived to locked; locked to active or archived. Caller must have admin privilege and outrank the target member. Archiving a member also clears their contact assignments.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Admin (16) |
Endpoint:
https://hostname/-/svc/adminpanel.member_change_status
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member whose status to change |
status | string | Yes | - | Target status. Accepted values: active, locked, archived. |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
INVALID_USER | 400 | Cannot change the status of the caller's own account |
INVALID_STATUS0 | 400 | Requested status is not one of: active, locked, archived |
INVALID_STATUS1 | 409 | Cannot set to locked from current state (must be active or archived) |
INVALID_STATUS2 | 409 | Cannot set to archived from current state (must be locked) |
INVALID_STATUS3 | 409 | Cannot set to active from current state (must be locked) |
NO_ORG | 404 | No organisation found for caller or target member |
INVALID_ORG | 403 | Target member does not belong to the same organisation as the caller |
NOT_ENOUGH_PRIVILEGE | 403 | Caller does not have sufficient admin privilege over the target |
INCORRECT_DOMAIN | 403 | Target member has no domain privilege record |
NO_MEMBER | 404 | Target user is not a member of the organisation |
adminpanel.member_loginlog
Retrieve the paginated login history for a specific member. Validates that the target user belongs to the same domain as the caller.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Delete (8) |
Endpoint:
https://hostname/-/svc/adminpanel.member_loginlog
Parameters
| Parameter | Type | Required | Default | Description |
|---|
user_id | string | Yes | - | ID of the member whose login log to retrieve |
page | number | No | - | Page number for pagination (default: 1) |
Returns
| Field | Type | Description |
|---|
type | any | - |
doc | any | - |
Possible Errors
| Error Code | HTTP Status | Description |
|---|
NO_ORG | 404 | Sanity check failed: user not found, missing db_name, or domain mismatch |
adminpanel.member_import
Bulk import members into the organisation. Implementation is handled internally.
| Property | Value |
|---|
| Scope | Domain (requires authentication) |
| Permission | Write (8) |
Endpoint:
https://hostname/-/svc/adminpanel.member_import
adminpanel.member_admin_add