{ "opencollection": "1.0.0", "info": { "name": "@weka-api Active Directory SMB API", "version": "5.1" }, "request": { "auth": { "type": "bearer", "token": "{{bearerToken}}" } }, "items": [ { "info": { "name": "SMB", "type": "folder" }, "items": [ { "info": { "name": "Get SMB cluster configuration", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/smb" }, "docs": "Returns comprehensive details about the existing SMB cluster, including
domain membership status, container assignments, ID mapping configuration,
encryption settings, and feature enablement flags.
Use this endpoint to audit the current cluster state or verify configuration changes." }, { "info": { "name": "Create a new SMB cluster", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/smb", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new SMB cluster and establishes its foundational configuration. This includes setting the domain association, assigning containers to serve the SMB protocol, and defining security policies.
This operation creates the cluster structure but does not join it to an Active Directory domain. After the cluster is created, use the POST /smb/activeDirectory endpoint to complete the domain integration." }, { "info": { "name": "Modify SMB cluster settings", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/smb", "body": { "type": "json", "data": "{}" } }, "docs": "Updates cluster-wide configuration parameters for an existing SMB deployment.
Supports modification of encryption policy and floating IP address assignments.
Changing the encryption policy affects new connections. Existing connections maintain their original encryption state until reconnection." }, { "info": { "name": "Disable SMB cluster", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/smb" }, "docs": "Disables the SMB cluster and removes its configuration. This action terminates all active client sessions, removes associated floating IPs, and automatically disconnects the cluster from its Active Directory domain, if joined.
The underlying filesystem data is preserved. This operation only removes network access through the SMB protocol." }, { "info": { "name": "Get trusted domain list", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/smb/domains" }, "docs": "Returns all trusted domains configured within the SMB cluster.
Trusted domains enable cross-domain authentication and resource access in multi-domain
Active Directory environments. Each domain includes ID mapping range specifications." }, { "info": { "name": "Add trusted domain to cluster", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/smb/domains", "body": { "type": "json", "data": "{}" } }, "docs": "Registers a new trusted domain with the SMB cluster and configures its ID mapping range.
Trusted domains allow users and groups from additional Active Directory domains to access SMB resources.
This operation automatically restarts SMB services to apply the new trust configuration, which may cause a brief service interruption.
Ensure the specified ID mapping range (mapping_from_id–mapping_to_id) does not overlap with existing domain ranges." }, { "info": { "name": "Get smb mount options", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/smb/mount" }, "docs": "Get smb mount options" }, { "info": { "name": "Get all SMB shares", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/smb/shares" }, "docs": "Returns a comprehensive list of all shares configured within the SMB cluster.
Each share includes access permissions, encryption settings, filesystem mappings,
user access lists, and configuration parameters." }, { "info": { "name": "Add SMB share", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/smb/shares", "body": { "type": "json", "data": "{}" } }, "docs": "Provisions a new share within the SMB cluster, mapping a filesystem path to a network-accessible share.
The share becomes immediately available to authorized users upon creation.
For access control, use the user_list_type and users parameters to define initial access permissions. After creating a user, additional users can be added using the POST /smb/users endpoint. For ACL options, use the map_acls parameter to determine how Windows ACLs are translated to filesystem permissions (posix," }, { "info": { "name": "Join Active Directory domain", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/smb/activeDirectory", "body": { "type": "json", "data": "{}" } }, "docs": "Joins the SMB cluster to the Active Directory domain specified during the initial cluster creation.
This operation creates the necessary computer account in Active Directory, establishes trust, and enables authentication for domain users and groups.
Before using this endpoint, you must first create the SMB cluster using POST /smb." }, { "info": { "name": "Disconnect from Active Directory domain", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/smb/activeDirectory", "body": { "type": "json", "data": "{}" } }, "docs": "Disconnects the SMB cluster from the Active Directory domain.
This action deletes the cluster account from Active Directory and terminates domain-based authentication, making shares immediately inaccessible to all domain users. Before leaving the domain, configure an alternative authentication method if you require continued access to the shares.
Administrator credentials may be necessary to complete the operation." }, { "info": { "name": "Configure SMB container logging verbosity", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/smb/debug", "body": { "type": "json", "data": "{}" } }, "docs": "Adjusts the debug logging level for SMB container processes on specified containers.
Higher debug levels increase logging verbosity, which is useful for troubleshooting but may impact performance." }, { "info": { "name": "Modify share configuration", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/smb/shares/:uid", "params": [ { "name": "uid", "value": "", "type": "path", "description": "Unique identifier of the share to modify." } ], "body": { "type": "json", "data": "{}" } }, "docs": "Updates operational parameters for an existing SMB share.
Changes take effect immediately and apply to new client connections. Active sessions may need to reconnect to observe changes.
Only a subset of share properties can be modified after creation. To change immutable properties (for example, filesystem, sub_path), delete and recreate the share." }, { "info": { "name": "Remove SMB share", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/smb/shares/:uid", "params": [ { "name": "uid", "value": "", "type": "path", "description": "Share UID." } ] }, "docs": "Removes an SMB share from the cluster, terminating network access to the associated filesystem path.
Active client connections to this share are forcibly disconnected.
Underlying filesystem data remains intact. Only the SMB network share configuration is removed." }, { "info": { "name": "Remove trusted domain", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/smb/domains/:uid", "params": [ { "name": "uid", "value": "", "type": "path", "description": "Domain uid." } ] }, "docs": "Removes a trusted domain from the SMB cluster, revoking authentication and access rights for all users and groups within that domain.
This operation triggers a background restart of the SMB services, which may cause a brief service interruption. Before removing a domain, ensure no active share permissions reference its users or groups." }, { "info": { "name": "Grant share access to users", "type": "http" }, "http": { "method": "POST", "url": "/api/v2/smb/users/:share_uid/:user_type", "params": [ { "name": "share_uid", "value": "", "type": "path", "description": "Unique identifier of the target share." }, { "name": "user_type", "value": "", "type": "path", "description": "Access permission category to add users to. User type options:
- read_only - Users can view and read files, but cannot modify content
- read_write - Users have full read and write access
- valid - Users explicitly allowed to access the share
- invalid - Users explicitly denied access (takes precedence over other permissions)" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Adds specified users or groups to a share's access control list with designated permission level.
Users can be Active Directory users, groups, or domain aliases." }, { "info": { "name": "Remove all users from the access list", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/smb/users/reset/:share_uid/:user_type", "params": [ { "name": "share_uid", "value": "", "type": "path", "description": "Share UID." }, { "name": "user_type", "value": "", "type": "path", "description": "Access permission category to add users to. User type options:
- read_only - Users can view and read files, but cannot modify content
- read_write - Users have full read and write access
- valid - Users explicitly allowed to access the share
- invalid - Users explicitly denied access (takes precedence over other permissions)" } ] }, "docs": "Removes all users and groups from the specified access permission category for a given share.
This is a bulk operation that clears the entire user list for the specified category.
Useful when reconfiguring share permissions from scratch or removing all entries before applying a new access control policy.
To remove individual users, use DELETE /smb/users/{share_uid}/{user_type}/{user} instead." }, { "info": { "name": "Remove specific user from share access", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/smb/users/:share_uid/:user_type/:user", "params": [ { "name": "share_uid", "value": "", "type": "path", "description": "Share UID." }, { "name": "user_type", "value": "", "type": "path", "description": "read_only, read_write, valid, invalid." }, { "name": "user", "value": "", "type": "path", "description": "Username or group name to remove (format - DOMAIN\\name, for example, \"AD\\jdoe\")." } ] }, "docs": "Removes an individual user or group from the specified access permission category.
The user immediately loses the associated permissions, but may retain access through other permission categories or group memberships." }, { "info": { "name": "Verify SMB container readiness", "type": "http" }, "http": { "method": "GET", "url": "/api/v2/smb/containersAreReady" }, "docs": "Checks the operational readiness of all containers participating in the SMB cluster.
The response indicates whether each container SMB process is fully operational and ready to serve client requests.
Use this endpoint to monitor cluster health or to verify that configuration changes have been applied successfully." }, { "info": { "name": "Add containers to SMB cluster", "type": "http" }, "http": { "method": "PUT", "url": "/api/v2/smb/servers", "body": { "type": "json", "data": "{}" } }, "docs": "Expands the SMB cluster by adding containers to distribute the SMB service load.
Newly added containers immediately handle SMB requests and participate in HA failover.
Requires properly configured hosts and sufficient floating IPs.
Used to scale SMB capacity for increased load or improved fault tolerance." }, { "info": { "name": "Remove containers from SMB cluster", "type": "http" }, "http": { "method": "DELETE", "url": "/api/v2/smb/servers", "params": [ { "name": "removedHosts", "value": "", "type": "query", "description": "Array of container unique identifiers (UIDs) to remove from the cluster." } ] }, "docs": "Removes specified containers from the SMB cluster. Client connections on the removed containers migrate to the remaining active containers in the cluster.
Use this operation to decommission containers for maintenance or to reduce the cluster size during periods of low demand.
Before proceeding, ensure that at least one container remains in the cluster and that the removal does not violate the cluster's minimum redundancy requirements." } ] } ], "bundled": true }