Shares & Permissions via MyWorkDrive API

Managing Shares and Permissions via MyWorkDrive Server Public API

MyWorkDrive Server version 7.1 introduces a powerful new Public API that allows administrators to automate the creation, configuration, and removal of file shares and permissions using HTTP requests. This API is designed for advanced users who need to integrate share management into external systems, scripts, or orchestration workflows.

Getting Started

  1. Enable the API
  2. Go to the Enterprise Tab in the Admin Panel
  3. Enable the Public API
  4. Copy your API Key
  5. Send a request to the server

Examples

PowerShell

Invoke-WebRequest -Headers @{ "ApiKey" = "YourApiKey" } -Uri "http://127.0.0.1:8360/api/v3/ListShares"

curl

curl -H "ApiKey: YourApiKey" http://127.0.0.1:8360/api/v3/ListShares

Server URLs

By default the server is only accessible through http://127.0.0.1:8360. To provide access remotely, please see Publishing for Remote Access.

Share Management Endpoints

Operation Method Endpoint Notes
List all shares GET /api/v3/ListShares

Returns array of all shares

Get a share by name

GET

/api/v3/GetShare?name={shareName}

Returns share if it exists

Create a new share

GET

/api/v3/CreateShare?name={name}&path={path}&storageProviderId={id}

Requires storageProviderId

Delete a share

GET

/api/v3/DeleteShare?name={name}

Does NOT auto-remove permissions

Note: Shares will only appear in the Admin Panel if at least one permission is assigned. API changes may take up to 5 minutes to reflect due to caching.

Permission Management Endpoints

Operation

Method

Endpoint

Notes

List all permissions

GET

/api/v3/ListPermissions

Lists all entries

List permissions for user/group

GET

/api/v3/ListPermissions?name={name}

Filters by name

Create/Update permission

GET

/api/v3/PlacePermission?...

See below

Delete permission

GET

/api/v3/DeletePermission?...

All fields required

PlacePermission Parameters

Parameter

Type

Required

Description

name

string

User or Group name

domainName

string

✅ for users optional for groups in Entra ID mode

Use empty string for Entra ID groups

shareName

string

Name of the share

isGroup

boolean

true for groups

webClientAllowed

boolean

Enable web client access

desktopClientAllowed

boolean

Enable mapped drive (desktop) access

mobileClientAllowed

boolean

Enable mobile app access

publicSharingEnabled

boolean

Allow public link sharing

dlpDownloadEnabled

boolean

Allow file download (if DLP enabled)

dlpOfficeOnlineEditEnabled

boolean

Allow Office Online editing only

This example uses the query parameters listed below to set permissions for the group "All Entra ID Members".

  • name=All%20Entra%20ID%20Members
  • shareName=LocalTest
  • domainName=
  • isGroup=true
  • webClientAllowed=true
  • desktopClientAllowed=true
  • mobileClientAllowed=true
  • publicSharingEnabled=true
  • dlpDownloadEnabled=true
  • dlpOfficeOnlineEditEnabled=true

/api/v3/PlacePermission?name=All%20Entra%20ID%20Members&shareName=LocalTest&domainName=&isGroup=true&webClientAllowed=true&desktopClientAllowed=true&mobileClientAllowed=true&publicSharingEnabled=true&dlpDownloadEnabled=true&dlpOfficeOnlineEditEnabled=true

Storage Providers

To create a share, you need the storageProviderId.

How to Retrieve It:

  1. Go to Admin Panel, then Integrations
  2. Create a new storage entry (e.g. Azure Blob, Azure Files, SMB)
  3. Check the General.xml file in Wanpath\wanpath.data\settings for the generated storageProviderId.

⚠️ Currently, API support for managing storage providers (add/delete) is under consideration.

Notes

  • Updates may take up to 5 minutes to appear in the Admin Panel.
  • Deleting a share does NOT automatically delete associated permissions (must be done through a separate request).
  • The API is verb-agnostic (GET, POST, etc.). Examples use GET for simplicity.
  • URL parameters must be URL-encoded (e.g., All Entra ID Members → All%20Entra%20ID%20Members).
  • Shares cannot be modified. Delete the first share, then create a new share.

Publishing for Remote Access

This API is designed to run on a private local network interface by default. Making it remotely accessible should be done with extreme caution.

IIS Bindings

The Management API is hosted on a separate IIS site WanPath.Admin.API with a single HTTP binding on port 8360. To restrict access the site only listens on 127.0.0.1. To allow remote access either allow the existing binding to listen on other addresses, or preferably create a new binding secured with a strong certificate.

SSL/TLS

The Management API can be secured with an HTTPS binding. Create a new binding for the WanPath.Admin.API site and add a certificate. The hostname in the binding should match the hostname in your certificate.

Firewall

The Management API makes no changes to any local firewalls. To allow remote access to your server you will need to allow inbound connections on your selected ports. 8360 is the default for HTTP connections. You will have chosen a custom port for HTTPS connections.

We appreciate your feedback. If you have any questions, comments, or suggestions about this article please contact our support team at support@myworkdrive.com.