The Nasuni Data API provides programatic access to the filesystem of an Nasuni Edge Appliance. The API provides endpoints for creating, updating and deleting files and folders.
Prerequisites
You must enable “Mobile Access” for the share that you want to use the Nasuni API with. On the Nasuni Edge Appliance user interface, use the CIFS Shares page. On the Nasuni Management Console use the Shares page and enable “Sync and Mobile Access”.
Getting Started
Creating an API Token
For all APIs listed here, the host is the host name or IP address of the Nasuni Edge Appliance, and the port is usually 443.
The auth/login endpoint is used to generate a x-secret-token (in the response header). The username and password must be valid SMB credentials. The values of device_id and device_type are not validated though device_id is intended to be unique per device or application instance.
curl -k -i -F username=test_user_1 -F password=1234 -F device_id=test1 -F device_type=iphone https://10.100.21.41/mobileapi/1/auth/login
HTTP/1.1 200 OK
Date: Fri, 16 May 2025 19:59:50 GMT
Server: uvicorn
Strict-Transport-Security: max-age=31536000
x-secret-key: EGngFS/6sETWST90Mv72dg==Using an API Token
The x-secret-token is combined with the device_id which is passed as Basic Auth header (username-device_id, password=token) in subsequent requests.
curl -k -u "test1:EGngFS/6sETWST90Mv72dg==" https://10.100.21.41/mobileapi/1/fs
{"name":"/","items":[{"type":"share","name":"Share1","mod_time":1747352913,"path":"/shareone","share":"Share1"},\
{"type":"share","name":"Another Share","mod_time":1747352913,"path":"/Another Share","share":"Another Share"}]}Errors
The return codes listed are the most common and should have a specific action associated with them. It is possible that in some cases these APIs will return other return codes, such as codes in the 500s for various server problems and 400s for client errors. For anything unspecified, the app should simply display a general error message and ask the user to try again. Please report any recurrent return codes in the 500s to Nasuni Technical Support.
Examples
Note: Examples are given using curl. Since all the APIs use https, ensure that the version of libcurl that you use supports https. See curl - Download.
When using cURL, it is necessary to handle certificates correctly. If the Nasuni Edge Appliance has only a self-signed certificate, you must disable certificate chain checking. See the description of the –k cURL option.
Entity Tags
The intent of entity tags (“ETags”) is as a mechanism to let the caller know if an item has changed, or to conditionally perform an operation if it has changed or not.
Files
As of version 10.1 Etags are always returned for files.
An ETag is always available for a file and is generated from the modified time of the file and it’s size. Thus, is changes as a file’s contents are changed.
ETag is not affected by things that change metadata such as rename, permissions, and ACLs.
Note: Files can have the same ETag, but are not the same file.
Directories
As of version 10.1 Etags are current not calculated for directories. Ref: Defect WE-873.
Earlier Releases
Prior to 10.1 ETags are returned for directories and files when a header request was passed:
X-NAS-Options: generate_etag
An ETag is returned for directories only when the directory has been fully synchronized with the cloud.
Any changes within a directory (such as new file, file rename, or file create) immediately clears the ETag until that directory is fully synchronized again with the cloud.
When encountering a directory with a missing ETag, you must enumerate or process all contents, comparing the ETag of each item within, and for directories descending, if needed.
The directory ETag is updated before files are updated are done so there are no race conditions.
Authentication (Login) API
Authenticates a user's credentials and logs the user in. After authentication, all client threads must use the x-secret-key token returned for all subsequent API calls.
URL
/mobileapi/1/auth/login
Method
POST
Request Body Parameters
username
Active Directory username. Both <username> and <domain>\<username> formats are allowed.
For native users, enter the username.
password
Password for the username.
Note: Applications should never save the user’s password.
device_id
The field name “device_id” comes from the Mobile Access API, which is the origin of the Nasuni API. This field allows you to enter a unique random string, such as a GUID, that uniquely identifies the client.
Note: This device_id appears on the Mobile License Usage page of the Nasuni Edge Appliance user interface.
device_type
The field name “device_type” comes from the Mobile Access API.
Note: As of version 10.1 the device_type is required but it’s value is no longer restricted.
Return codes
200: Success.
401: Unauthorized. Authentication failure. Ensure that the username and password are correct. Verify that Mobile Access is enabled.
403: Forbidden: Authentication failure. (version 10.1 only)
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary.
Response headers
x-secret-key
In the case of a 200 success, this response header contains a secret key, which the app is responsible for saving and using on all subsequent API calls. This key can be used concurrently by any number of client threads. If the secret key is lost for any reason, you can just re-authenticate to get a new one.
As of version 10.1 most header parameters are now returned with lowercase names. Earlier versions returned X-Secret-Key.
This response header is of the form:
x-secret-key: gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37EnLK6spUs=
cURL example
curl -k -i -F username=TESTUSER -F password=TESTPASSWORD -F device_id=apple001 -F device_type=iphone https://hostname/mobileapi/1/auth/login
Note: In this example, the cURL switches include the following:
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-i
Include the HTTP-header in the output. The HTTP-header includes information like server-name, date of the document, HTTP-version and more.
-F
This lets curl emulate a filled-in form in which a user has pressed the Submit button.
Output:
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Tue, 01 May 2012 20:38:00 GMT
Server: uvicorn
x-secret-key: gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37EnLK6spUs=
content-length: 0
connection: Keep-Alive
content-type: text/plain; charset=UTF-8
Logout
De-authenticates the user from the interface. After use of this API, the caller should forget the secret key, but can still retain and re-use the device ID.
URL
/mobileapi/1/auth/logout
Method
POST
Request Headers
Authorization: Basic <device_id>:<x-secret-key> - mandatory Basic Auth Header.
Return codes
200: Success.
401: Unauthorized. Authentication failure. Authentication failures on non-authenticated APIs can be due to expired secret keys. On logout, this error can be ignored, and the logout can be considered successful.
cURL example
curl –X POST -k -i-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" https://hostname/mobileapi/1/auth/logout
Note: In this example, the cURL switches include the following:
-X
Specifies a custom request method to use when communicating with the HTTP server. The specified request is used instead of the method otherwise used (which defaults to GET).
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-i
Include the HTTP-header in the output. The HTTP-header includes information like server-name, date of the document, HTTP-version and more.
-u
Use <device_id>:<x-secret-key>.
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Output:
HTTP/1.1 200 OK
Date: Tue, 01 May 2012 20:38:00 GMT
Server: uvicorn
content-length: 0
connection: Keep-Alive
content-type: text/plain; charset=UTF-8
Get items
Get the contents of an item, either a directory listing, the previous version listing of a file or directory, or the contents of a file.
URL
/mobileapi/1/fs/<path>
Note: “fs” stands for “file system”.
Method
GET
Request Headers
Authorization: Basic <device_id>:<x-secret-key>
Range
HTTP Range header. Optional. Only meaningful if the path is to a file.
If-None-Match: ETag
ETag from a previous GET request. (Can also be a list of ETags). A return code of 304 is returned if this directory or file has not changed per the ETag.
Parameters
path
(Optional.) Path to the item. If omitted, the result is a list of shares.
previous
(Optional.) True or false. Instead of getting a file or directory's contents, get its list of previous versions.
version_time
(Optional.) Specifies which version of the file or directory to retrieve.
Return codes
200: Success.
206: Partial range satisfied.
304: Not modified.
401: Authentication failure.
403: Permission denied.
404: Object not found.
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary.
416: Range requested but cannot be satisfied.
Response headers:
x-object-type
One of shares, share, directory, versions, or file.
ETag
If client requested generation of an ETag.
Response body:
If shares, the list of shares available to navigate into.
If directory or share, the list of files and directories within this directory.
If versions, a listing of the previous versions of a file or directory.
If file, the (possibly partial) contents of the file.
Example: obtaining top-level directory
curl -k -u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" https://hostname/mobileapi/1/fs
Note: The path is omitted to get the top directory.
Note: In this example, the cURL switches include the following:
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
The result, in JSON format, is of the form:
{
  "name": "/",
  "items": [
    {"type": "share", "name": "share1", "mod_time": 1334857842},
    {"type": "share", "name": "share2", "mod_time": 1334857347},
    {"type": "share", "name": "share3", "mod_time": 1334857436}
  ]
}Example: obtaining arbitrary directory
curl -k 
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://hostname/mobileapi/1/fs/full/path/to/dir
Note: In this example, the cURL switches include the following:
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
The result, in JSON format, is of the form:
{
  "name": "/full/path/to/dir",
  "items": [
    {"mod_time": 1334857842, "type": "file", "name": "file2", "size": 10240000, "ETag": "1-1334857842-10240000"},
    {"mod_time": 1234567890, "type": "file", "name": "file4", "size": 324, "ETag": "1-1234567890-324"},
    {"mod_time": 1234567890, "type": "directory", "name": "dir2"}
  ]
}Example: obtaining previous versions of a file
curl -k -u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" https://hostname/mobileapi/1/fs/full/path/to/file?previous=true
Note: In this example, the cURL switches include the following:
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u: Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
previous
(Optional.) True or false. Instead of getting a file or directory's contents, get its list of previous versions.
device_id: The same device_id used for login.
x-secret-key: The secret key obtained after running login.
The result, in JSON format, is of the form:
{
  "type": "file",
  "name": "/full/path/to/filename",
  "versions": [
    {"version_time":1336049867, "mod_time": 1336049977, size: 84576, "ETag": "1-1336049867-84576"},
    {"version_time":1336049977, "mod_time": 1336049537, size: 74537, "ETag": "1-1336049977-74537"},
    {"version_time":1336050987, "mod_time": 1335996049, size: 63452, "ETag": "1-1336050987-63452"}
  ]
}Example: obtaining previous versions of a directory
curl -k 
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://hostname/mobileapi/1/fs/full/path/to/dir
?previous=true
Note: In this example, the cURL switches include the following:
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
previous
(Optional.) True or false. Instead of getting a file or directory's contents, get its list of previous versions.
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
The result, in JSON format, is of the form:
{
  "type": "directory",
  "name": "/full/path/to/dirname",
  "versions": [
    {"version_time":1336049867, "mod_time": 1336049977},
    {"version_time":1336049977, "mod_time": 1336049537},
    {"version_time":1336050987, "mod_time": 1335986914}
  ]
}Example: downloading a single file
curl -k 
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
-o <local-path-to- file>
https://hostname/mobileapi/1/fs/full/path/to/file
Note: In this example, the cURL switches include the following:
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-o <local-path-to- file>
Output file format.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Notes for fs
This field is also available:
version_time
(Optional.) Specifies which version of the file or directory to retrieve.
It is possible to continue traversing the previous version of a directory to deeper directories and files. For example, suppose you are looking at version 1336050987 of directory /A/B/C, which contains a directory D. You can get the contents of D by issuing a GET request to /A/B/C/D?version_time=1336050987.
Furthermore, if D contains a file F, you can retrieve that file by issuing a GET request to /A/B/C/D/F?version_time=1336050987.
However, you cannot see the previous versions of F (or D). That is, this request is invalid: /A/B/C/D/F?version_time=1336050987&previous=true.
Calling GET on the root directory / results in a list of shares. 
Note: There are no previous versions of /.
Upload file
Upload a file to the Nasuni Edge Appliance.
Note: You cannot upload a file to the root level, since that is a list of CIFS (SMB) shares.
URL
/mobileapi/1/fs/<path_including_new_filename>
Method
PUT
Request Headers
Authorization: Basic <device_id>:<x-secret-key>
content-length: the size of the file to upload.
X-NAS-Options: generate_etag. Use entity tags (ETag) ETag Specification to allow client caching of results. See ETag Behavior on page 31.
Request Body
The raw bytes to be stored.
Parameters
path_including_new_filename
Path to the new file in the Nasuni Edge Appliance, including the new filename.
Return codes
200: Success.
401: Authentication failure.
403: Permission denied.
404: Parent directory not found.
409: File or directory already exists.
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary.
Response headers:
ETag: If client requested generation of an ETag.
cURL example
curl –X PUT -k -T file.txt
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://hostname/mobileapi/1/fs/full/path/to/
newfilename.txt
Note: In this example, the cURL switches include the following:
-X
Specifies a custom request method to use when communicating with the HTTP server. The specified request is used instead of the method otherwise used (which defaults to GET).
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
-T <file>
This transfers the specified local file to the remote URL.
You can specify one -T for each URL on the command line. Each 
-T + URL pair specifies what to upload and to where.
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Notes for fs
These fields are also available:
mod_time
(Optional.) Integer. The last modification time of the file on upload, in seconds since 1970.
overwrite
(Optional.) True or false. Overwrite destination file if it exists.
createparents
(Optional.) True or false. Create parent directories if they do not exist.
Download files
Download multiple files as a zip archive.
URL
/mobileapi/1/fs/<path>?action=MULTIDL
Method
POST
Request Headers
Authorization: Basic <device_id>:<x-secret-key>
Parameters
action
multidl
paths
Multiple entries containing the relative paths to include in the archive. Path names do not include the path provided in the URL. See examples:
paths = /1920x1200
paths = /models
paths = /1280x1024/raver_1280x1024.jpg
Return codes
200: Success.
400: Invalid input, such as a directory name that ends in a dot, which is illegal on Windows.
401: Authentication failure.
403: Permission denied.
404: Parent directory not found.
409: Conflict. Reach max-size or max-files constraint when building zip archive.
411: No paths specified.
cURL example
curl -k -u "device_id:x-secret-key" 
-o <local-path-to-zip-file> https://hostname/mobileapi/1/fs/full/path/to/filename.extension?action=MULTIDL
Note: In this example, the cURL switches include the following:
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
-o <local-path-to-zip-file>
Output file in .zip format.
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Create directory
Create a directory in the Nasuni Edge Appliance.
Note: You cannot create a directory at the root level, since that is a list of CIFS (SMB) shares.
URL
/mobileapi/1/fs/<path_including_dir_name>?action=MKDIR
Method
POST
Request Headers
Authorization: Basic <device_id>:<x-secret-key>
Parameters
path_including_dir_name
Path to the new directory in the Nasuni Edge Appliance, including the new directory name.
action=MKDIR
Required.
mod_time
(Optional.) Integer. The last modification time of the directory on creation, in seconds since 1970.
Return codes
200: Success.
204: No content (success).
400: Invalid input, such as a directory name that ends in a dot, which is illegal on Windows.
401: Authentication failure.
403: Permission denied.
404: Parent directory not found.
409: File or directory already exists.
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary.
cURL example
curl –X POST -k 
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://hostname/mobileapi/1/fs/full/path/to/dir/
?action=MKDIR
Note: In this example, the cURL switches include the following:
-X
Specifies a custom request method to use when communicating with the HTTP server. The specified request is used instead of the method otherwise used (which defaults to GET).
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
action=MKDIR
Action to make a new directory.
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Rename or move file or directory
Rename a file or directory, or move a file or directory within a share.
URL
mobileapi/1/fs/full/path/to/item?action=RENAME&to_path=<full_path_within_share_to_destination>
Method
POST
Request Headers
Authorization: Basic <device_id>:<x-secret-key>
Parameters
action
"RENAME", if renaming or moving a file or directory.
to_path
If this is a move, the full path within the share to move the file or directory to. If this is a move, this path and the source path must include the name of the source directory.
If this is a rename, the full path within the share of the new name of the file or directory. Unlike the full path used for the source, DO NOT include the share name in this path.
For example, if this were the source:
https://file.company.com/mobileapi/1/fs/SHR/top/mid/file.jpg
The associated to_path would be:
/top/mid/file.jpg
If-Match
(Optional.) ETag string: if set, the operation only proceeds if the source file ETag matches.
Return codes
204: Renamed or moved successfully.
400: Invalid input: either missing a leading “/” or contains a trailing “/”.
401: Authentication failure, such as bad device ID, username, or password.
403: Permission denied.
404: Target directory not found.
409: File or directory already exists. Or ETag does not match when If-Match is specified.
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary. Wipe cache and favorites.
cURL examples
Moving a file:
curl -X POST -k 
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://file.company.com/1/fs/SHR/Top/mid/file.jpg
?action=RENAME
&to_path=/top/mid/New%20destination/file.jpg
When moving a file, the to_path would include the desired path for the move within the share, including the file name.
Moving a directory:
curl -X POST -k 
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://file.company.com/1/fs/SHR/top/mid
&action=RENAME
&to_path=/top/NewDirectory/mid
In this example, we're moving the "mid" directory to another directory named "NewDirectory", specified in the to_path. The “mid” directory must appear in both the source path and the destination path.
Renaming a file:
curl -X POST -k -u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://file.company.com/1/fs/SHR/top/mid/file.jpg
?action=RENAME
&to_path=/top/mid/file-new.jpg
By specifying a new file name for a file as part of the to_path, a rename operation occurs.
Note: In this example, the cURL switches include the following:
-X
Specifies a custom request method to use when communicating with the HTTP server. The specified request is used instead of the method otherwise used (which defaults to GET).
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
action=RENAME
Action to rename a file or directory.
to_path
If this is a move, the full path within the share to move the file or directory to. If this is a move, this path and the source path must include the name of the source directory.
If this is a rename, the full path within the share of the new name of the file or directory. Unlike the full path used for the source, DO NOT include the share name in this path.
For example, if this were the source:
https://file.company.com/mobileapi/1/fs/SHR/top/mid/file.jpg
The associated to_path would be:
/top/mid/file.jpg
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Delete file or directory
Delete a file or directory.
You cannot delete a non-empty directory. You also cannot delete a directory at the root level, since they are shares.
URL
/mobileapi/1/fs/<full_path_to_file_or_dir>
Method
DELETE
Request Headers
Authorization: Basic <device_id>:<x-secret-key>
Parameters
full_path_to_file_or_dir
Return codes
204: Deleted successfully.
401: Authentication failure, such as bad device ID, username, or password.
403: Permission denied.
404: File or directory not found.
409: Directory not empty.
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary.
cURL example
curl –X DELETE -k 
-u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" 
https://hostname/mobileapi/1/fs/full/path/to/
file_or_dir
Note: In this example, the cURL switches include the following:
-X
Specifies a custom request method to use when communicating with the HTTP server. The specified request is used instead of the method otherwise used (which defaults to GET).
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Exists query
Check if a file or directory exists.
URL
/mobileapi/1/fs/<path>
Method
HEAD
Request Headers
Authorization: Basic <device_id>:<x-secret-key>
Response headers:
x-size: Size of file.
x-modtime: Modification date of file or directory.
x-object-type: One of shares, share, directory, versions, or file.
Parameters
Return codes
200: Success.
401: Authentication failure, such as bad device ID, username, or password.
403: Permission denied.
404: File or directory not found.
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary.
cURL example
curl –i –X HEAD -k -u "apple001:gWTklSZs9EpuAo3yM3TymvdbscaKeQ6H37=" https://hostname/mobileapi/1/fs/full/path/to/file_or_dir
Note: In this example, the cURL switches include the following:
-i
Include the HTTP-header in the output. The HTTP-header includes information like server-name, date of the document, HTTP-version and more.
-X
Specifies a custom request method to use when communicating with the HTTP server. The specified request is used instead of the method otherwise used (which defaults to GET).
-k
This option explicitly allows curl to perform "insecure" SSL connections and transfers. All SSL connections are attempted to be made secure by using the CA certificate bundle installed by default. This makes all connections considered "insecure" fail unless –k or --insecure is used.
-u
Use “device_id:x-secret-key”
Note: In this example, the following fields are used:
device_id
The same device_id used for login.
x-secret-key
The secret key obtained after running login.
Output:
HTTP/1.1 200 OK
date: Fri, 04 May 2012 20:22:21 GMT
Server: uvicorn
x-size: 0
x-modtime: 1336162154
x-object-type: directory
connection: Keep-Alive
content-type: text/plain; charset=UTF-8
List of return codes
200: Success.
204: Deleted successfully.
206: Partial range satisfied.
304: Not modified.
400: Invalid input, such as a directory name that ends in a dot, which is illegal on Windows.
401: Authentication failure, such as bad device ID, username, or password.
403: Permission denied.
404: Object not found.
409: File or directory already exists. Or directory not empty.
410: device_id is disabled on the Nasuni Edge Appliance for this particular device. Authorization using a different device_id is necessary.
416: Range requested but cannot be satisfied.