CreateDiskMountURL API¶
Creates a time-limited WebDAV disk mount URL for the currently authenticated user. The returned URL points to the root of the infoRouter WebDAV share and can be used to mount infoRouter as a network drive in Windows Explorer or any WebDAV-capable client. A dedicated DAV session ticket is generated for the URL; the calling user's normal authentication ticket is not embedded in it.
Endpoint¶
Methods¶
-
GET
/srv.asmx/CreateDiskMountURL?authenticationTicket=...&customExpirationDate=... -
POST
/srv.asmx/CreateDiskMountURL(form data) -
SOAP Action:
http://tempuri.org/CreateDiskMountURL
Parameters¶
| Parameter | Type | Required | Description |
|---|---|---|---|
authenticationTicket |
string | Yes | Authentication ticket obtained from AuthenticateUser. |
customExpirationDate |
DateTime | Yes | Expiry date and time for the generated WebDAV session ticket. Pass in ISO 8601 format (e.g. 2026-12-31T23:59:59). UTC values are automatically converted to server local time. Use a far-future date to create a long-lived mount URL. Must be in the future: a date already past is refused with 4000. |
Response¶
Success Response¶
| Element / Attribute | Description |
|---|---|
success |
true on success. |
Value |
The WebDAV mount path. Prepend the server base URL to form a full mount URL (e.g. https://yourserver/dav/sid-{ticket}/). |
Error Response¶
Required Permissions¶
-
Any authenticated user with a valid ticket may call this API.
-
No additional document or folder permission is required -" the returned URL grants WebDAV access to items the user would normally be permitted to see.
-
Anonymous users cannot obtain a WebDAV mount URL.
Example¶
GET Request¶
GET /srv.asmx/CreateDiskMountURL?authenticationTicket=3f2504e0-4f89-11d3-9a0c-0305e82c3301&customExpirationDate=2026-12-31T23:59:59 HTTP/1.1
POST Request¶
POST /srv.asmx/CreateDiskMountURL HTTP/1.1
Content-Type: application/x-www-form-urlencoded
authenticationTicket=3f2504e0-4f89-11d3-9a0c-0305e82c3301
&customExpirationDate=2026-12-31T23:59:59
SOAP Request¶
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://tempuri.org/">
<soap:Body>
<tns:CreateDiskMountURL>
<tns:AuthenticationTicket>3f2504e0-4f89-11d3-9a0c-0305e82c3301</tns:AuthenticationTicket>
<tns:customExpirationDate>2026-12-31T23:59:59</tns:customExpirationDate>
</tns:CreateDiskMountURL>
</soap:Body>
</soap:Envelope>
Using the Returned URL¶
Construct the full mount URL by prepending your server's base address to the Value returned in the response:
This URL can be mapped as a network drive on Windows:
JavaScript¶
Every call answers XML with HTTP 200, success or not, so success is the thing to branch on and
errorCode is the number to report.
async function call(action, params) {
const response = await fetch(`/srv.asmx/${action}?${new URLSearchParams(params)}`);
const root = new DOMParser()
.parseFromString(await response.text(), 'text/xml')
.documentElement;
if (root.getAttribute('success') !== 'true') {
throw new Error(`${root.getAttribute('errorCode')}: ${root.getAttribute('error')}`);
}
return root;
}
Opens a WebDAV session and returns the path to mount. The answer is a path, not a full URL: prepend the server address.
const root = await call('CreateDiskMountURL', {
authenticationTicket: ticket,
customExpirationDate: '2027-01-01'
});
const url = location.origin + root.querySelector('Value').textContent; // https://host/dav/sid-<guid>/
The expiry must be in the future. A date already past is refused with 4000, rather than
handing back a mount path that looks usable but is already expired. customExpirationDate binds as a
DateTime, so a value that is not a date is refused with HTTP 400 before the operation runs.
Notes¶
-
The returned URL is root-level WebDAV -" it gives access to all domains and folders the user is permitted to browse, not a specific document.
-
A separate DAV session ticket is created for the URL. This ticket is independent of the caller's authentication ticket and can be handed to a WebDAV client without exposing the original ticket.
-
The ticket embedded in the URL expires at
customExpirationDate. After expiry, the mount URL stops working and a new URL must be requested. -
If
customExpirationDateis supplied in UTC, the server automatically converts it to local time before creating the ticket. -
To create a URL for editing a specific document (e.g. opening a Word file directly in Microsoft Office), use
CreateEditDocumentURLinstead. -
The WebDAV endpoint supports PROPFIND, GET, PUT, LOCK, and UNLOCK operations, enabling full read/write access through compatible clients.
Related APIs¶
-
CreateEditDocumentURL - Create a WebDAV editing URL for a specific document
-
CreateWebDavSession - Create the same WebDAV session and get its ticket, expiry and path
-
GetWebDavSessions - List the WebDAV sessions this API and CreateWebDavSession created
-
RemoveWebDavSession - Remove one of them
-
GetDocument - Retrieve document properties including the document path
Error Codes¶
The errorCode values this operation returns, checked against a running server:
errorCode |
When |
|---|---|
4000 |
customExpirationDate is not in the future |
4010 |
the ticket is expired or unknown, or there is no ticket at all |
4030 |
the caller is signed in anonymously |
HTTP 400 |
customExpirationDate was not a date; refused by model binding |
| Error | Description |
|---|---|
[900] Authentication failed |
Invalid or missing authentication ticket. |
[901] Session expired or Invalid ticket |
The ticket has expired or does not exist. |