Logo
NAV Navigation
Shell HTTP JavaScript Ruby Python PHP Java Go

Nasuni Management Console API v1.2.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Welcome to the Nasuni Management Console API Documentation.

The NMC API allows you to monitor and configure the Nasuni resources managed by your Nasuni Management Console in a simple programmatic way using conventional HTTP requests.

All endpoints described below should be prefixed with the base URL to your Nasuni Management console. The base URL for this version of the API is https://hostname/api/v1.2

Requests

The NMC API is based on REST principles and data resources are only accessable via HTTPS to ensure all communication is encrypted. In general, the API uses standard HTTP methods as described below:

MethodUsage
GETUsed for retrieving resources.
POSTUsed for creating resources.
PATCHUsed for updating resources.
DELETEUsed for deleting resources.
HEADUsed to determine a resource exists.

Request Bodies

In the case of all PATCH and some POST methods, a JSON-formatted body is used to add the necessary arguments for the request.

Responses

When a request is successful, a response body will typically be sent back in the form of a JSON object. Data returned in a JSON object is described for each endpoint below. A typical successful request will return with a status code in the 200 range.

Return codes in the 400 range typically indicate that there was an issue with the request that was sent. A status code in the 500 range generally indicates a server-side problem.

Pagination

When listing resources that contain many items, the result may be paginated. By default, 50 objects are returned per page. You may include both a limit and an offset query parameter. The limit indicates the maximum number of items to return. The offset indicates the starting position of the query in relation to the complete set of unpaginated items. For instance, to show only two results per page, you could add ?limit=2 to the end of your query.

Refer to the schema definition for additional information on Paging objects below.

Rate Limit

The number of authentication requests that can be made through the NMC API is currently limited to 10 per minute.

Most POST/PUT/PATCH/DELETE requests are limited to 1 request per second, all others are limited to 5 per second.

If a request was denied due to exceeding the rate limit, a response code of 429 is returned and an error named "throttled". To continue using the NMC API, the user will have to wait the duration of time noted in the description.

Non-Blocking API

The NMC API is non-blocking. In other words, any request made gets an immediate response.

Any request that isn't a listing will result in a message that is sent to the Filer. Generally, if a message is sent, you will get a 202 status code response with a message in the response body. This is the case for creating or updating resources.

To poll a message for its status, perform a GET request on the resource. A "synced" status means that the action was successfully performed. Otherwise, you will see that the resource has a "failed" or "error" status with appropriate detail on why the message failed.

Additionally, when creating or updating resources, there may be an applied_resource field in the response body that becomes available after the message is "synced".

Version History

Version 22.2

Bump API version to 1.2.0. Backward-incompatible changes:

Cloud credentials are now identified using a combination of 'filer_serial_number' and 'cred_uuid', instead of 'cred_id', and now support the PATCH method.
The CIFS client, CIFS lock, and FTP client endpoints are now optimized for memory usage and response time. The reponses from these endpoints no longer include a 'links' field.

Version 21.2

Create export
Update export
Delete export
List NFS host options for an export
Create NFS host option
Get a host option for an export
Update an existing host option
Delete host option

Version 8.8

List health status for all Filers
List health status for a Filer

Version 8.5

Bring path into cache
List AMQP Destinations
List AMQP Destinations for a Filer
Create an AMQP Destination
Get a single AMQP destination
Update an AMQP destination
Delete an AMQP destination
Try to make the given directory path
Set pinning mode
Set auto caching mode
Disable pinning mode on a folder
Disable auto cache mode on a folder

Authentication

Before any calls to NMC API can be made, the 'Enable NMC API Access' permission must be set within the Nasuni Management Console on the group of any user wishing to have access.

To recieve an authentication token, you must first issue a POST request to the /auth/login/ endpoint passing username and password as request body parameters. A successful response will return a JSON object containing a token and expires date time. At this point the token should be used for all future requests and the username/password no longer needed. The format of the Authorization header is: Authorization: Token [TOKEN]

Auth

Login

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/auth/login/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/auth/login/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "username": "string",
  "password": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/auth/login/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/auth/login/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/auth/login/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/auth/login/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/auth/login/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/auth/login/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /auth/login/

Authenticate a user's credentials to get an access token.

Body parameter

{
  "username": "string",
  "password": "string"
}

Parameters

Name In Type Required Description
body body object false none
» username body string true none
» password body string true none

Example responses

200 Response

{
  "token": "string",
  "expires": "string"
}

Responses

Status Meaning Description Schema
200 OK Success AuthToken
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Logout

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/auth/logout/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/auth/logout/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/auth/logout/',
{
  method: 'POST',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/auth/logout/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/auth/logout/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/auth/logout/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/auth/logout/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/auth/logout/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /auth/logout/

De-authenticate user access token.

Example responses

200 Response

{
  "logged_out": true
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» logged_out boolean false none If true, the user access token was successfully de-authenticated.

Index

View top-level endpoints

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /

Example responses

200 Response

{
  "auth": "string",
  "account": "string",
  "volumes": "string",
  "filers": "string",
  "messages": "string",
  "notifications": "string"
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» auth string false none A link to the authentication resource.
» account string false none A link to the account resource.
» volumes string false none A link to the volumes resource.
» filers string false none A link to the filers resource.
» messages string false none A link to the messages resource.
» notifications string false none A link to the notifications resource.

Account

List all cloud credentials

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/account/cloud-credentials/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/account/cloud-credentials/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/account/cloud-credentials/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/account/cloud-credentials/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/account/cloud-credentials/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/account/cloud-credentials/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/account/cloud-credentials/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/account/cloud-credentials/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /account/cloud-credentials/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "cred_uuid": "string",
      "name": "string",
      "filer_serial_number": "string",
      "cloud_provider": "string",
      "account": "string",
      "hostname": "string",
      "status": "string",
      "secret": "string",
      "note": "string",
      "in_use": true,
      "links": {
        "self": {
          "href": "string",
          "method": "string"
        }
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [CloudCredential] false none [A cloud credential obeject]
»» cred_uuid string false read-only Cloud credential identifier
»» name string true none The name of the cloud credential
»» filer_serial_number string false read-only Unique identifier for the associated filer.
»» cloud_provider string false read-only The name of the cloud provider for this credential
»» account string true none The account access key or username for the associated cloud account
»» hostname string true none The cloud hostname
»» status string false read-only Current status of the resource
»» secret string true none Secret access key for cloud credential authentication. Displayed as masked value of '*****'
»» note string false none Any notes regarding the credential. Otherwise will be blank.
»» in_use boolean false read-only If true, the cloud credential is in use by at least one volume.
»» links object false read-only Links to related resources, collections, and actions.
»»» self Link false none none
»»»» href string false read-only Hyperlink to the resource.
»»»» method string false read-only HTTP method to use on the link.

Get a list of cloud credentials by uuid

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /account/cloud-credentials/{cred_uuid}/

Parameters

Name In Type Required Description
cred_uuid path string true Cloud Credential object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "cred_uuid": "string",
      "name": "string",
      "filer_serial_number": "string",
      "cloud_provider": "string",
      "account": "string",
      "hostname": "string",
      "status": "string",
      "secret": "string",
      "note": "string",
      "in_use": true,
      "links": {
        "self": {
          "href": "string",
          "method": "string"
        }
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [CloudCredential] false none [A cloud credential obeject]
»» cred_uuid string false read-only Cloud credential identifier
»» name string true none The name of the cloud credential
»» filer_serial_number string false read-only Unique identifier for the associated filer.
»» cloud_provider string false read-only The name of the cloud provider for this credential
»» account string true none The account access key or username for the associated cloud account
»» hostname string true none The cloud hostname
»» status string false read-only Current status of the resource
»» secret string true none Secret access key for cloud credential authentication. Displayed as masked value of '*****'
»» note string false none Any notes regarding the credential. Otherwise will be blank.
»» in_use boolean false read-only If true, the cloud credential is in use by at least one volume.
»» links object false read-only Links to related resources, collections, and actions.
»»» self Link false none none
»»»» href string false read-only Hyperlink to the resource.
»»»» method string false read-only HTTP method to use on the link.

Get one cloud credential on a filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/

Parameters

Name In Type Required Description
cred_uuid path string true Cloud Credential object identifier
filer_serial path string true Filer object identifier

Example responses

200 Response

{
  "cred_uuid": "string",
  "name": "string",
  "filer_serial_number": "string",
  "cloud_provider": "string",
  "account": "string",
  "hostname": "string",
  "status": "string",
  "secret": "string",
  "note": "string",
  "in_use": true,
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success CloudCredential
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update a cloud credential on a filer

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "name": "string",
  "account": "string",
  "hostname": "string",
  "secret": "string",
  "note": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /account/cloud-credentials/{cred_uuid}/filers/{filer_serial}/

Body parameter

{
  "name": "string",
  "account": "string",
  "hostname": "string",
  "secret": "string",
  "note": "string"
}

Parameters

Name In Type Required Description
cred_uuid path string true Cloud Credential object identifier
filer_serial path string true Filer object identifier
body body CloudCredential true none

Example responses

400 Response

{
  "error": {
    "code": "error",
    "description": "string"
  }
}

Responses

Status Meaning Description Schema
202 Accepted Success - Cloud credential has been updated None
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
405 Method Not Allowed Method not allowed ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message

Filers

List Filers

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "build": "string",
      "description": "string",
      "guid": "string",
      "management_state": "self",
      "serial_number": "string",
      "settings": {
        "alert_thresholds": {
          "cpu_alert_settings": {
            "cpu_enabled": true,
            "cpu_threshold": 0,
            "cpu_duration": 0
          },
          "memory_alert_settings": {
            "memory_enabled": true,
            "memory_threshold": 0,
            "memory_duration": 0
          },
          "snapshot_alert_settings": {
            "snapshot_enabled": true,
            "snapshot_duration": 0
          }
        },
        "autoupdate": {
          "hour": 0,
          "sun": true,
          "mon": true,
          "tue": true,
          "wed": true,
          "thu": true,
          "fri": true,
          "sat": true
        },
        "cache_reserved": {
          "reserved": "unset",
          "maxv": 0,
          "minv": 0
        },
        "cifs": {
          "aio_support": true,
          "deny_access": true,
          "fruit_support": true,
          "proto_level": "SMB3",
          "restrict_anonymous": true,
          "roundup_size": "string",
          "smb3": true,
          "smb_encrypt": true,
          "unix_ext": true,
          "veto_files": true
        },
        "escrow_passphrase": "string",
        "ftp": {
          "masq_address": "string",
          "idle_timeout": 0,
          "anon_user": "string",
          "anon_group": "string",
          "protocols": [
            "string"
          ]
        },
        "gl_settings": {
          "degrade_to_read_locks": true
        },
        "mobile_service": {
          "limit_single_device": true,
          "additional_api_port": 0,
          "session_expiration_time": 0,
          "allowed_devices": [
            "OSX"
          ]
        },
        "qos": {
          "rules": [
            {
              "days": {
                "mon": true,
                "tue": true,
                "wed": true,
                "thu": true,
                "fri": true,
                "sat": true,
                "sun": true
              },
              "start": 0,
              "stop": 0,
              "limit": 0,
              "ingress_limit": 0
            }
          ]
        },
        "quota_report_schedule": {
          "schedules": [
            {
              "days": {
                "sun": true,
                "mon": true,
                "tue": true,
                "wed": true,
                "thu": true,
                "fri": true,
                "sat": true
              },
              "activation_hour": 0,
              "admin_report": true,
              "user_report": true,
              "threshold": 0
            }
          ]
        },
        "remote_support": {
          "connected": true,
          "enabled": true,
          "running": true,
          "timeout": 0
        },
        "snmp": {
          "v2_enabled": true,
          "v2_community": "string",
          "v3_enabled": true,
          "v3_username": "string",
          "v3_password": "string",
          "sys_location": "string",
          "sys_contact": "string",
          "trap_ips": [
            "string"
          ]
        },
        "time": {
          "ntpservers": [
            "string"
          ],
          "timezone": "string",
          "current_time_utc": "string"
        }
      },
      "status": {
        "offline": true,
        "osversion": "string",
        "platform": {
          "platform_name": "string",
          "cpu": {
            "model": "string",
            "frequency": 0,
            "sockets": 0,
            "cores": 0
          },
          "memory": "string",
          "cache_status": {
            "size": 0,
            "used": 0,
            "dirty": 0,
            "free": 0,
            "percent_used": 0
          }
        },
        "updates": {
          "updates_available": true,
          "current_version": "string",
          "new_version": "string"
        },
        "uptime": 0
      },
      "links": {
        "self": {
          "href": "string",
          "method": "string"
        },
        "cifsclients": {
          "href": "string",
          "method": "string"
        },
        "cifslocks": {
          "href": "string",
          "method": "string"
        },
        "ftpclients": {
          "href": "string",
          "method": "string"
        }
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - Return status and configuration for all managed Filers. Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [Filer] false none [Complete Filer object with all associated settings and statuses.]
»» build string false read-only Current version and build number of the Filer's software.
»» description string false none The Filer's description.
»» guid string false read-only Unique identifier of the Filer instance.
»» management_state string false read-only Current NMC Management state of the Filer. Possible values:

* 'self' - Filer is NOT managed by NMC.
* 'nmc' - Filer is managed by NMC.
* 'pending_self' - Filer is pending self management.
* 'pending_nmc' - Filer is pending NMC management.
»» serial_number string false read-only Serial number of the Filer.
»» settings object false none Settings that are associated with this Filer.
»»» alert_thresholds object false read-only Filer system alert configuration.
»»»» cpu_alert_settings object false none Configuration values for alerting on Filer CPU usage.
»»»»» cpu_enabled boolean false none If true, will enable alerts for CPU usage.
»»»»» cpu_threshold integer false none Percentage of CPU usage that can trigger an alert.
»»»»» cpu_duration integer false none Time in minutes that the system will allow CPU usage over the cpu_threshold before trigging an alert.
»»»» memory_alert_settings object false none Configuration values for alerting on Filer memory usage.
»»»»» memory_enabled boolean false none If true, will enable alerts for memory usage.
»»»»» memory_threshold integer false none Percentage of memory usage that can trigger and alert.
»»»»» memory_duration integer false none Time in minutes that the system will allow memory usage over the memory_threshold before trigging an alert.
»»»» snapshot_alert_settings object false none Configuration values for alerting on Snapshots.
»»»»» snapshot_enabled boolean false none If true, will enable alerts for snapshots.
»»»»» snapshot_duration integer false none Time in hours to trigger an alert if a snapshot has not completed.
»»» autoupdate FilerConfigurationAutoupdate false none none
»»»» hour integer false read-only Hour of the day to perform automatic updates. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'.
»»»» sun boolean false read-only Whether the Filer runs automatic updates on Sunday.
»»»» mon boolean false read-only Whether the Filer runs automatic updates on Monday.
»»»» tue boolean false read-only Whether the Filer runs automatic updates on Tuesday.
»»»» wed boolean false read-only Whether the Filer runs automatic updates on Wednesday.
»»»» thu boolean false read-only Whether the Filer runs automatic updates on Thursday.
»»»» fri boolean false read-only Whether the Filer runs automatic updates on Friday.
»»»» sat boolean false read-only Whether the Filer runs automatic updates on Saturday.
»»» cache_reserved object false read-only none
»»»» reserved string false none Set the percentage of the cache reserved for new, incoming data. A string representing a multiple-of-five integer between 5-90, or the string "unset" if the Filer automatically manages this.
»»»» maxv integer false none Read only. Maximum percentage of the cache reserved for new, incoming data.
»»»» minv integer false none Read only. Minimum percentage of the cache reserved for new, incoming data.
»»» cifs FilerConfigurationCIFS false none none
»»»» aio_support boolean false read-only Read only. Indicates whether Async IO is supported.
»»»» deny_access boolean false read-only Read only. Indicates whether denying a user access to a share is supported
»»»» fruit_support boolean false read-only Read only. Indicates whether Mac OS X Extensions are available.
»»»» proto_level string false read-only Read only. Indicates the CIFS protocol level of the Filer.

* SMB3 -- CIFS & SMB3 support.
* SMB2 -- CIFS & SMB2 support.
* '' -- CIFS support.
»»»» restrict_anonymous boolean false read-only Set whether to restrict anonymous user access.
»»»» roundup_size string false read-only Set the Allocation roundup size.
This rounds the file size on disk reported to clients. Disabled by
default, this should only be enabled when the system is being
accessed by older SMBv1 clients; otherwise, there may be a
performance impact.
May also affect file size reporting on some platforms.

* `` - Allocation roundup size is 1 MiB (default value for Filers older than version 9.0).
* 0 - Allocation roundup is disabled (default value for Filers version 9.0 and newer).
* 1048576 - Allocation roundup size is 1 MiB.
»»»» smb3 boolean false read-only Indicates whether SMB3 is supported.
»»»» smb_encrypt boolean false read-only Indicates whether SMB Encryption is supported.
»»»» unix_ext boolean false read-only Set whether Enhanced Support for POSIX clients is enabled.
»»»» veto_files boolean false read-only Indicates whether blocking files is supported. This can be configured through Shares settings.
»»» escrow_passphrase string false none An obfuscated string ('*****'), indicating an escrow_passphrase is set. 'null' if a passphrase is not set. Beginning with the 9.3 release, you must set an escrow passphrase before generating new encryption keys or escrowing uploaded encryption keys with Nasuni.
»»» ftp FilerConfigurationFTP false none none
»»»» masq_address string false read-only Set the Masquerade address. This IP address is presented to the client instead of the local server's IP.
»»»» idle_timeout integer false read-only Set the amount of time (in seconds) that a user can stay connected while idle before being disconnected.
»»»» anon_user string false read-only Set the username a user must log in with in order to access FTP directories anonymously. This field is case sensitive. (default: anonymous)
»»»» anon_group string false read-only Set the Group assigned to the Anonymous User for file permissions. Note: This does not give all members of this group anonymous access. (default: anonymous)
»»»» protocols [string] false read-only List of FTP protocols supported by the Filer.
»»» gl_settings object false read-only Settings that control certain aspects of Global Locking.
»»»» degrade_to_read_locks boolean false none Set whether or not to degrade all locks to read locks. Enabling this feature will cause all locks that are not read locks to be denied. This feature should only be enabled if the lock server is not available for an extended period of time. This feature effectively makes any directories with global locks enabled read only.
»»» mobile_service FilerServicesMobile false none none
»»»» limit_single_device boolean false none Set whether to restrict users to using a single mobile device. If true, each user account can only have one mobile device associated with it which is allowed to connect to Mobile Service. If false, each user account can have any number of mobile devices registered.
»»»» additional_api_port integer false none If set, allow access to Mobile service on the specified port. Set to a valid port number 1-65535. Set to null to disable.
»»»» session_expiration_time integer false none If set, users must reauthenticate after their session has expired. Enter a value in hours. If set to 0, the sessions never expire.
»»»» allowed_devices [string] false none none
»»» qos object false read-only Quality of Service configuration.
»»»» rules [object] false none QoS rules
»»»»» days object false none Days of the week to apply the QoS rule.
»»»»»» mon boolean false none none
»»»»»» tue boolean false none none
»»»»»» wed boolean false none none
»»»»»» thu boolean false none none
»»»»»» fri boolean false none none
»»»»»» sat boolean false none none
»»»»»» sun boolean false none none
»»»»» start integer false none Hour of the day (0-23) to start applying the QoS rule.
»»»»» stop integer false none Hour of the day (0-23) to stop applying the QoS rule.
»»»»» limit integer false none The maximum outbound data rate in bytes. Specify zero for no limit.
»»»»» ingress_limit integer false none The maximum inbound data rate in bytes. Specify zero for no limit.
»»» quota_report_schedule FilerConfigurationQuotaReportSchedule false none none
»»»» schedules [object] false none none
»»»»» days object false none Set the days of the week on which the reports should be generated, at the hour specified in "activation_hour".
»»»»»» sun boolean false none Whether reports should be generated on Sunday.
»»»»»» mon boolean false none Whether reports should be generated on Monday.
»»»»»» tue boolean false none Whether reports should be generated on Tuesday.
»»»»»» wed boolean false none Whether reports should be generated on Wednesday.
»»»»»» thu boolean false none Whether reports should be generated on Thursday.
»»»»»» fri boolean false none Whether reports should be generated on Friday.
»»»»»» sat boolean false none Whether reports should be generated on Saturday.
»»»»» activation_hour integer false none Hour of the day to generate and send the quota report. An integer between 0 and 23, with 0 = '12 AM', 1 = '1 AM', ... 23 = '11 PM'.
»»»»» admin_report boolean false none Set whether to generate the administrative report. This reports on all Directory Quota Violations, and is sent to the addresses set to receive email in Email Settings and Configurations.
»»»»» user_report boolean false none Set whether to generate the user report. This reports on individual Directory Quota Violations and will be sent to the address specifed in the Quota or the owner of the directory, if available (CIFS/AD mode only).
»»»»» threshold integer false none Report on Quotas where the usage is at or above the specified percent of the limit.
»»» remote_support FilerServicesSupport false none Enable or disable Remote Support, set the timeout before it is automatically disabled, and report if there is an active connection from Nasuni Support.
»»»» connected boolean false read-only Indicates if Nasuni Support is currently connected for Remote Support.
»»»» enabled boolean false none Enable or disable Remote Support.
»»»» running boolean false read-only none
»»»» timeout integer false none Set the timeout in seconds after which Remote Support is automatically disabled.
»»» snmp object false read-only Filer SNMP Settings
»»»» v2_enabled boolean false none If true, will enable v1,v2c support.
»»»» v2_community string false none SNMP Community name (ex: 'public').
»»»» v3_enabled boolean false none If true, will enable v3 support.
»»»» v3_username string false none Username for SNMP v3 authentication.
»»»» v3_password string false none Password for SNMP v3 authentication. SHA authentication and optional privileged security using AES encryption are used to communicate to the SNMP agent. Will display a masked value of '*****' if a password exists, otherwise will be blank.
»»»» sys_location string false none SNMP System Location (ex: 'Boston Colo - Rack 1').
»»»» sys_contact string false none SNMP system contact (ex: 'Support ').
»»»» trap_ips [string] false none List of IPs or hostnames listening for SNMP traps. Leave blank if you wish not to listen for SNMP traps. Traps will be sent using SNMP v3 settings above and the Filer's unique engine id.
»»» time object false read-only Filer Time Configuration
»»»» ntpservers [string] false none none
»»»» timezone string false none Timezone of the Filer.
»»»» current_time_utc string false none Current time reported by the Filer. Last report time will only be updated periodically unless manually refreshed.
»» status object false read-only Filer status.
»»» offline boolean false none If true, the Filer has not reported back to the NMC within the last hour.
»»» osversion string false none The version of the Operating System running on this filer.
»»» platform FilerPlatform false none Information about a Filer's platform, including hardware type and information about CPU, Memory, and cache.
»»»» platform_name string false read-only A description of the hardware platform this Filer runs on.
»»»» cpu object false none none
»»»»» model string false read-only Human-readable description of the CPU model.
»»»»» frequency number false read-only CPU Frequency in MHz.
»»»»» sockets integer false read-only Number of CPU sockets currently used on this Filer's platform.
»»»»» cores integer false read-only Total number of CPU cores across all CPUs.
»»»» memory string false read-only A string representing an integer. The size in megabytes of the Filer's memory.
»»»» cache_status object false none none
»»»»» size integer false read-only The size in bytes of the Filer's cache.
»»»»» used integer false read-only The amount in bytes of the Filer's cache currently in use.
»»»»» dirty integer false read-only The amount of data in bytes belonging to files currently marked as needing to be written to storage or re-read into the cache.
»»»»» free integer false read-only The amount in bytes of the Filer's cache currently available.
»»»»» percent_used number false read-only The percentage of the cache currently in use, i.e. used/size.
»»» updates object false none Information about the current software version and the availability of updates.
»»»» updates_available boolean false none Indicates whether or not there are software updates available for the Filer.
»»»» current_version string false none The current version of the software running on this Filer.
»»»» new_version string false none If an update is available, this indicates the new version of the software which will be installed.
»»» uptime integer false none Uptime of this Filer, in seconds.
»» links object false read-only Links to related resources, collections, and actions.
»»» self Link false none none
»»»» href string false read-only Hyperlink to the resource.
»»»» method string false read-only HTTP method to use on the link.
»»» cifsclients Link false none none
»»» cifslocks Link false none none
»»» ftpclients Link false none none

Enumerated Values

Property Value
management_state self
management_state nmc
management_state pending_self
management_state pending_nmc
reserved unset
reserved 5
reserved 10
reserved 15
reserved 20
reserved 25
reserved 30
reserved 35
reserved 40
reserved 45
reserved 50
reserved 55
reserved 60
reserved 65
reserved 70
reserved 75
reserved 80
reserved 85
reserved 90
proto_level SMB3
proto_level SMB2
proto_level

Get Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier

Example responses

200 Response

{
  "build": "string",
  "description": "string",
  "guid": "string",
  "management_state": "self",
  "serial_number": "string",
  "settings": {
    "alert_thresholds": {
      "cpu_alert_settings": {
        "cpu_enabled": true,
        "cpu_threshold": 0,
        "cpu_duration": 0
      },
      "memory_alert_settings": {
        "memory_enabled": true,
        "memory_threshold": 0,
        "memory_duration": 0
      },
      "snapshot_alert_settings": {
        "snapshot_enabled": true,
        "snapshot_duration": 0
      }
    },
    "autoupdate": {
      "hour": 0,
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "cache_reserved": {
      "reserved": "unset",
      "maxv": 0,
      "minv": 0
    },
    "cifs": {
      "aio_support": true,
      "deny_access": true,
      "fruit_support": true,
      "proto_level": "SMB3",
      "restrict_anonymous": true,
      "roundup_size": "string",
      "smb3": true,
      "smb_encrypt": true,
      "unix_ext": true,
      "veto_files": true
    },
    "escrow_passphrase": "string",
    "ftp": {
      "masq_address": "string",
      "idle_timeout": 0,
      "anon_user": "string",
      "anon_group": "string",
      "protocols": [
        "string"
      ]
    },
    "gl_settings": {
      "degrade_to_read_locks": true
    },
    "mobile_service": {
      "limit_single_device": true,
      "additional_api_port": 0,
      "session_expiration_time": 0,
      "allowed_devices": [
        "OSX"
      ]
    },
    "qos": {
      "rules": [
        {
          "days": {
            "mon": true,
            "tue": true,
            "wed": true,
            "thu": true,
            "fri": true,
            "sat": true,
            "sun": true
          },
          "start": 0,
          "stop": 0,
          "limit": 0,
          "ingress_limit": 0
        }
      ]
    },
    "quota_report_schedule": {
      "schedules": [
        {
          "days": {
            "sun": true,
            "mon": true,
            "tue": true,
            "wed": true,
            "thu": true,
            "fri": true,
            "sat": true
          },
          "activation_hour": 0,
          "admin_report": true,
          "user_report": true,
          "threshold": 0
        }
      ]
    },
    "remote_support": {
      "connected": true,
      "enabled": true,
      "running": true,
      "timeout": 0
    },
    "snmp": {
      "v2_enabled": true,
      "v2_community": "string",
      "v3_enabled": true,
      "v3_username": "string",
      "v3_password": "string",
      "sys_location": "string",
      "sys_contact": "string",
      "trap_ips": [
        "string"
      ]
    },
    "time": {
      "ntpservers": [
        "string"
      ],
      "timezone": "string",
      "current_time_utc": "string"
    }
  },
  "status": {
    "offline": true,
    "osversion": "string",
    "platform": {
      "platform_name": "string",
      "cpu": {
        "model": "string",
        "frequency": 0,
        "sockets": 0,
        "cores": 0
      },
      "memory": "string",
      "cache_status": {
        "size": 0,
        "used": 0,
        "dirty": 0,
        "free": 0,
        "percent_used": 0
      }
    },
    "updates": {
      "updates_available": true,
      "current_version": "string",
      "new_version": "string"
    },
    "uptime": 0
  },
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "cifsclients": {
      "href": "string",
      "method": "string"
    },
    "cifslocks": {
      "href": "string",
      "method": "string"
    },
    "ftpclients": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK - Return status and configuration for the specified managed Filer. Filer
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update a Filer

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/filers/{filer_serial}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/filers/{filer_serial}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "description": "string",
  "settings": {
    "autoupdate": {},
    "cifs": {},
    "escrow_passphrase": "string",
    "ftp": {},
    "mobile_service": {
      "limit_single_device": true,
      "additional_api_port": 0,
      "session_expiration_time": 0,
      "allowed_devices": [
        "OSX"
      ]
    },
    "quota_report_schedule": {
      "schedules": [
        {
          "days": {
            "sun": true,
            "mon": true,
            "tue": true,
            "wed": true,
            "thu": true,
            "fri": true,
            "sat": true
          },
          "activation_hour": 0,
          "admin_report": true,
          "user_report": true,
          "threshold": 0
        }
      ]
    },
    "remote_support": {
      "enabled": true,
      "timeout": 0
    }
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/filers/{filer_serial}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/filers/{filer_serial}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/filers/{filer_serial}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/filers/{filer_serial}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /filers/{filer_serial}/

Update the Filer's settings with the given body.

Body parameter

{
  "description": "string",
  "settings": {
    "autoupdate": {},
    "cifs": {},
    "escrow_passphrase": "string",
    "ftp": {},
    "mobile_service": {
      "limit_single_device": true,
      "additional_api_port": 0,
      "session_expiration_time": 0,
      "allowed_devices": [
        "OSX"
      ]
    },
    "quota_report_schedule": {
      "schedules": [
        {
          "days": {
            "sun": true,
            "mon": true,
            "tue": true,
            "wed": true,
            "thu": true,
            "fri": true,
            "sat": true
          },
          "activation_hour": 0,
          "admin_report": true,
          "user_report": true,
          "threshold": 0
        }
      ]
    },
    "remote_support": {
      "enabled": true,
      "timeout": 0
    }
  }
}

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
body body Filer true none

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
405 Method Not Allowed Method not allowed ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message

List AMQP Destinations

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/amqp-audit-destinations/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/amqp-audit-destinations/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/amqp-audit-destinations/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/amqp-audit-destinations/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/amqp-audit-destinations/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/amqp-audit-destinations/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/amqp-audit-destinations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/amqp-audit-destinations/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/amqp-audit-destinations/

Only available with Filers on version 8.5 and higher.

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "name": "string",
      "filer_serial_number": "string",
      "hostname": "string",
      "port": 0,
      "ca_cert": "string",
      "username": "string",
      "password": "string",
      "vhost": "string",
      "exchange": "string",
      "routing_key": "string",
      "headers": {},
      "links": {
        "self": {
          "href": "string",
          "method": "string"
        },
        "filer": {
          "href": "string",
          "method": "string"
        }
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of all AMQP Destination across all Filers Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [AMQPAuditDestination] false none [AMQP Destination for auditing logs object]
»» name string true none Unique name of this AMQP destination
»» filer_serial_number string true none Identifier of the associated Filer.
»» hostname string true none Hostname or IP of AMQP server
»» port integer true none The AMQP SSL port number to connect to
»» ca_cert string true none The CA certificate that the server certificate was signed with. In the case of a self-signed certificate, this is the certificate itself
»» username string true none Username to authenticate with
»» password string true none Password to authenticate with
»» vhost string true none vHost on the AMQP server to connect to
»» exchange string false none Exchange to post messages to
»» routing_key string false none The routing_key to put in all messages
»» headers object true none Key value pairs that will be added to AMQP messages as headers
»» links object false read-only Links to related resources, collections, and actions
»»» self Link false none none
»»»» href string false read-only Hyperlink to the resource.
»»»» method string false read-only HTTP method to use on the link.
»»» filer Link false none none

List AMQP Destinations for a Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/amqp-audit-destinations/

Only available with Filers on version 8.5 and higher.

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "name": "string",
      "filer_serial_number": "string",
      "hostname": "string",
      "port": 0,
      "ca_cert": "string",
      "username": "string",
      "password": "string",
      "vhost": "string",
      "exchange": "string",
      "routing_key": "string",
      "headers": {},
      "links": {
        "self": {
          "href": "string",
          "method": "string"
        },
        "filer": {
          "href": "string",
          "method": "string"
        }
      }
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of AMQP Destinations on a specific Filer Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [AMQPAuditDestination] false none [AMQP Destination for auditing logs object]
»» name string true none Unique name of this AMQP destination
»» filer_serial_number string true none Identifier of the associated Filer.
»» hostname string true none Hostname or IP of AMQP server
»» port integer true none The AMQP SSL port number to connect to
»» ca_cert string true none The CA certificate that the server certificate was signed with. In the case of a self-signed certificate, this is the certificate itself
»» username string true none Username to authenticate with
»» password string true none Password to authenticate with
»» vhost string true none vHost on the AMQP server to connect to
»» exchange string false none Exchange to post messages to
»» routing_key string false none The routing_key to put in all messages
»» headers object true none Key value pairs that will be added to AMQP messages as headers
»» links object false read-only Links to related resources, collections, and actions
»»» self Link false none none
»»»» href string false read-only Hyperlink to the resource.
»»»» method string false read-only HTTP method to use on the link.
»»» filer Link false none none

Create an AMQP Destination

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "name": "string",
  "filer_serial_number": "string",
  "hostname": "string",
  "port": 0,
  "ca_cert": "string",
  "username": "string",
  "password": "string",
  "vhost": "string",
  "exchange": "string",
  "routing_key": "string",
  "headers": {}
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /filers/{filer_serial}/amqp-audit-destinations/

Only available with Filers on version 8.5 and higher.

Body parameter

{
  "name": "string",
  "filer_serial_number": "string",
  "hostname": "string",
  "port": 0,
  "ca_cert": "string",
  "username": "string",
  "password": "string",
  "vhost": "string",
  "exchange": "string",
  "routing_key": "string",
  "headers": {}
}

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
body body any true none

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Get a single AMQP destination

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name} \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name} HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}

Only available with Filers on version 8.5 and higher.

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
amqp_destination_name path string true AMQP Destination name (URL-encoded)

Example responses

200 Response

{
  "name": "string",
  "filer_serial_number": "string",
  "hostname": "string",
  "port": 0,
  "ca_cert": "string",
  "username": "string",
  "password": "string",
  "vhost": "string",
  "exchange": "string",
  "routing_key": "string",
  "headers": {},
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK OK - Information about the specified AMQP Destination AMQPAuditDestination
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Delete an AMQP destination

Code samples

# You can also use wget
curl -X DELETE https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name} \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
DELETE https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name} HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.delete('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('DELETE','https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}

Only available with Filers on version 8.5 and higher.

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
amqp_destination_name path string true AMQP Destination name (URL-encoded)

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update an AMQP destination

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name} HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "name": "string",
  "filer_serial_number": "string",
  "hostname": "string",
  "port": 0,
  "ca_cert": "string",
  "username": "string",
  "password": "string",
  "vhost": "string",
  "exchange": "string",
  "routing_key": "string",
  "headers": {}
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /filers/{filer_serial}/amqp-audit-destinations/{amqp_destination_name}

Only available with Filers on version 8.5 and higher.

Body parameter

{
  "name": "string",
  "filer_serial_number": "string",
  "hostname": "string",
  "port": 0,
  "ca_cert": "string",
  "username": "string",
  "password": "string",
  "vhost": "string",
  "exchange": "string",
  "routing_key": "string",
  "headers": {}
}

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
amqp_destination_name path string true AMQP Destination name (URL-encoded)
body body AMQPAuditDestination true none

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List CIFS clients

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/cifsclients/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/cifsclients/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/cifsclients/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/cifsclients/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/cifsclients/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/cifsclients/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/cifsclients/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/cifsclients/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/cifsclients/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "id": "string",
      "filer_serial_number": "string",
      "share_id": 0,
      "user": "string",
      "client": "string",
      "client_name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of all CIFS clients across all Filers Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [FilerCIFSClient] false none [A description of a connected CIFS client.]
»» id string false read-only CIFS client ID.
»» filer_serial_number string false read-only Serial number of the Filer.
»» share_id integer false read-only ID of the CIFS share that the client is connected to.
»» user string false read-only The user name of the connected client.
»» client string false read-only The IP Address of the client machine.
»» client_name string false read-only The hostname of the connected client.

List CIFS clients for a Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/cifsclients/

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "id": "string",
      "filer_serial_number": "string",
      "share_id": 0,
      "user": "string",
      "client": "string",
      "client_name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of CIFS clients connected to the specified Filer Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [FilerCIFSClient] false none [A description of a connected CIFS client.]
»» id string false read-only CIFS client ID.
»» filer_serial_number string false read-only Serial number of the Filer.
»» share_id integer false read-only ID of the CIFS share that the client is connected to.
»» user string false read-only The user name of the connected client.
»» client string false read-only The IP Address of the client machine.
»» client_name string false read-only The hostname of the connected client.

Get CIFS client

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id} \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id} HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/cifsclients/{cifs_client_id}

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
cifs_client_id path string true CIFS client object identifier

Example responses

200 Response

{
  "id": "string",
  "filer_serial_number": "string",
  "share_id": 0,
  "user": "string",
  "client": "string",
  "client_name": "string"
}

Responses

Status Meaning Description Schema
200 OK OK - Information about the specified CIFS client FilerCIFSClient
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List CIFS file locks

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/cifsclients/locks/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/cifsclients/locks/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/cifsclients/locks/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/cifsclients/locks/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/cifsclients/locks/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/cifsclients/locks/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/cifsclients/locks/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/cifsclients/locks/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/cifsclients/locks/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "filer_serial_number": "string",
      "cifsclient_id": "string",
      "share_id": 0,
      "path": "string",
      "type": "string",
      "user": "string",
      "client": "string",
      "client_name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of all CIFS file locks across all Filers Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [FilerCIFSLock] false none [A description of a CIFS file lock held by a connected CIFS client.]
»» filer_serial_number string false read-only Serial number of the Filer.
»» cifsclient_id string false read-only ID of the CIFS client that holds this lock.
»» share_id integer false read-only ID of the CIFS share that the client is connected to.
»» path string false read-only The path to the locked file or directory.
»» type string false read-only The type of lock.
»» user string false read-only The user name of the connected client.
»» client string false read-only The IP Address of the client machine.
»» client_name string false read-only The hostname of the connected client.

List CIFS file locks for a Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/locks/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/cifsclients/locks/

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "filer_serial_number": "string",
      "cifsclient_id": "string",
      "share_id": 0,
      "path": "string",
      "type": "string",
      "user": "string",
      "client": "string",
      "client_name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of CIFS file locks held by clients of the specified Filer Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [FilerCIFSLock] false none [A description of a CIFS file lock held by a connected CIFS client.]
»» filer_serial_number string false read-only Serial number of the Filer.
»» cifsclient_id string false read-only ID of the CIFS client that holds this lock.
»» share_id integer false read-only ID of the CIFS share that the client is connected to.
»» path string false read-only The path to the locked file or directory.
»» type string false read-only The type of lock.
»» user string false read-only The user name of the connected client.
»» client string false read-only The IP Address of the client machine.
»» client_name string false read-only The hostname of the connected client.

List CIFS file locks for a client

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/cifsclients/{cifs_client_id}/locks/

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
cifs_client_id path string true CIFS client object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "filer_serial_number": "string",
      "cifsclient_id": "string",
      "share_id": 0,
      "path": "string",
      "type": "string",
      "user": "string",
      "client": "string",
      "client_name": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of CIFS file locks held by the specified client Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [FilerCIFSLock] false none [A description of a CIFS file lock held by a connected CIFS client.]
»» filer_serial_number string false read-only Serial number of the Filer.
»» cifsclient_id string false read-only ID of the CIFS client that holds this lock.
»» share_id integer false read-only ID of the CIFS share that the client is connected to.
»» path string false read-only The path to the locked file or directory.
»» type string false read-only The type of lock.
»» user string false read-only The user name of the connected client.
»» client string false read-only The IP Address of the client machine.
»» client_name string false read-only The hostname of the connected client.

List FTP clients

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/ftpclients/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/ftpclients/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/ftpclients/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/ftpclients/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/ftpclients/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/ftpclients/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/ftpclients/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/ftpclients/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/ftpclients/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "id": "string",
      "filer_serial_number": "string",
      "protocol": "ftp",
      "client": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of all FTP clients across Filers Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [FilerFTPClient] false none [A description of a connected (S)FTP client.]
»» id string false read-only FTP client ID.
»» filer_serial_number string false read-only Serial number of the Filer.
»» protocol string false read-only The connection's protocol.
»» client string false read-only The IP Address of the client machine.

Enumerated Values

Property Value
protocol ftp
protocol sftp

List FTP clients for a Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/ftpclients/

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  },
  "items": [
    {
      "id": "string",
      "filer_serial_number": "string",
      "protocol": "ftp",
      "client": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK OK - List of FTP clients connected to the specified Filer Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.
» items [FilerFTPClient] false none [A description of a connected (S)FTP client.]
»» id string false read-only FTP client ID.
»» filer_serial_number string false read-only Serial number of the Filer.
»» protocol string false read-only The connection's protocol.
»» client string false read-only The IP Address of the client machine.

Enumerated Values

Property Value
protocol ftp
protocol sftp

Get FTP client

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id} \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id} HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id}',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id}', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/ftpclients/{ftp_client_id}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/ftpclients/{ftp_client_id}

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
ftp_client_id path string true FTP client object identifier

Example responses

200 Response

{
  "id": "string",
  "filer_serial_number": "string",
  "protocol": "ftp",
  "client": "string"
}

Responses

Status Meaning Description Schema
200 OK OK - Description of the specified FTP client FilerFTPClient
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List encryption keys

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/encryption-keys/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/encryption-keys/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/encryption-keys/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/encryption-keys/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/encryption-keys/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/encryption-keys/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/encryption-keys/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/encryption-keys/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/encryption-keys/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List encryption keys for a Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/encryption-keys/

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get a Filer encryption key

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/encryption-keys/{encryption_key_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/encryption-keys/{encryption_key_id}/

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
encryption_key_id path integer true Encryption key object identifier

Example responses

200 Response

{
  "id": 0,
  "filer_serial_number": "string",
  "fingerprint": "string",
  "key_id": "string",
  "name": "string",
  "algorithm": "string",
  "length": 0,
  "escrowed": true,
  "used": true,
  "is_backup_key": true,
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success EncryptionKey
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List health status for all Filers

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/health/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/health/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/health/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/health/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/health/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/health/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/health/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/health/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/health/

Only available with Filers on version 8.8 and higher.

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List health status for a Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/filers/{filer_serial}/health/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/filers/{filer_serial}/health/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/filers/{filer_serial}/health/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/filers/{filer_serial}/health/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/filers/{filer_serial}/health/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/filers/{filer_serial}/health/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/filers/{filer_serial}/health/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/filers/{filer_serial}/health/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /filers/{filer_serial}/health/

Only available with Filers on version 8.8 and higher.

Parameters

Name In Type Required Description
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Volumes

List volumes

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Create volume

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "filer_serial_number": "string",
  "name": "string",
  "protocols": {
    "permissions_policy": "NTFS60",
    "protocols": [
      "CIFS"
    ]
  },
  "antivirus_service": {
    "enabled": true,
    "days": {
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "check_files_immediately": true,
    "allday": true,
    "start": 0,
    "stop": 0,
    "frequency": 0
  },
  "quota": 0,
  "snapshot_retention": {
    "retain": "INFINITE",
    "number": 0,
    "years": 0,
    "months": 0,
    "days": 0
  },
  "cloud_io": {
    "dedupe": true,
    "compression": true,
    "chunk_size": 0
  },
  "provider": {
    "cred_uuid": "string",
    "name": "string",
    "shortname": "amazons3",
    "location": "string",
    "storage_class": "string"
  },
  "auth": {
    "authenticated_access": true,
    "policy": "ads",
    "policy_label": "string"
  },
  "options": {
    "auto_provision_cred": false,
    "create_new_key": true,
    "key_name": "string",
    "create_default_access_point": true
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/

Body parameter

{
  "filer_serial_number": "string",
  "name": "string",
  "protocols": {
    "permissions_policy": "NTFS60",
    "protocols": [
      "CIFS"
    ]
  },
  "antivirus_service": {
    "enabled": true,
    "days": {
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "check_files_immediately": true,
    "allday": true,
    "start": 0,
    "stop": 0,
    "frequency": 0
  },
  "quota": 0,
  "snapshot_retention": {
    "retain": "INFINITE",
    "number": 0,
    "years": 0,
    "months": 0,
    "days": 0
  },
  "cloud_io": {
    "dedupe": true,
    "compression": true,
    "chunk_size": 0
  },
  "provider": {
    "cred_uuid": "string",
    "name": "string",
    "shortname": "amazons3",
    "location": "string",
    "storage_class": "string"
  },
  "auth": {
    "authenticated_access": true,
    "policy": "ads",
    "policy_label": "string"
  },
  "options": {
    "auto_provision_cred": false,
    "create_new_key": true,
    "key_name": "string",
    "create_default_access_point": true
  }
}

Parameters

Name In Type Required Description
body body any true none

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message

Get volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier

Example responses

200 Response

{
  "guid": "string",
  "filer_serial_number": "string",
  "name": "string",
  "nmc_managed": true,
  "protocols": {
    "permissions_policy": "NTFS60",
    "protocols": [
      "CIFS"
    ]
  },
  "antivirus_service": {
    "enabled": true,
    "days": {
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "check_files_immediately": true,
    "allday": true,
    "start": 0,
    "stop": 0,
    "frequency": 0
  },
  "remote_access": {
    "enabled": true,
    "access_permissions": "readonly",
    "filer_access": [
      {
        "filer_serial_number": "string",
        "permission": "disabled"
      }
    ]
  },
  "quota": 0,
  "case_sensitive": true,
  "snapshot_retention": {
    "retain": "INFINITE",
    "number": 0,
    "years": 0,
    "months": 0,
    "days": 0
  },
  "cloud_io": {
    "dedupe": true,
    "compression": true,
    "chunk_size": 0
  },
  "provider": {
    "cred_uuid": "string",
    "name": "string",
    "shortname": "amazons3",
    "location": "string",
    "storage_class": "string"
  },
  "auth": {
    "authenticated_access": true,
    "policy": "ads",
    "policy_label": "string"
  },
  "root_handle": "string",
  "bucket": "string",
  "account_name": "string",
  "options": {
    "auto_provision_cred": false,
    "create_new_key": true,
    "key_name": "string",
    "create_default_access_point": true
  },
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    },
    "filer_settings": {
      "href": "string",
      "method": "string"
    },
    "filer_connections": {
      "href": "string",
      "method": "string"
    },
    "shares": {
      "href": "string",
      "method": "string"
    },
    "exports": {
      "href": "string",
      "method": "string"
    },
    "ftp_directories": {
      "href": "string",
      "method": "string"
    },
    "antivirus_violations": {
      "href": "string",
      "method": "string"
    },
    "folder_quotas": {
      "href": "string",
      "method": "string"
    },
    "snapshots": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success Volume
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update volume

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/volumes/{volume_guid}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/volumes/{volume_guid}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "filer_serial_number": "string",
  "name": "string",
  "protocols": {
    "permissions_policy": "NTFS60",
    "protocols": [
      "CIFS"
    ]
  },
  "antivirus_service": {
    "enabled": true,
    "days": {
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "check_files_immediately": true,
    "allday": true,
    "start": 0,
    "stop": 0,
    "frequency": 0
  },
  "quota": 0,
  "snapshot_retention": {
    "retain": "INFINITE",
    "number": 0,
    "years": 0,
    "months": 0,
    "days": 0
  },
  "cloud_io": {
    "dedupe": true,
    "compression": true,
    "chunk_size": 0
  },
  "provider": {
    "cred_uuid": "string",
    "name": "string",
    "shortname": "amazons3",
    "location": "string",
    "storage_class": "string"
  },
  "auth": {
    "authenticated_access": true,
    "policy": "ads",
    "policy_label": "string"
  },
  "options": {
    "auto_provision_cred": false,
    "create_new_key": true,
    "key_name": "string",
    "create_default_access_point": true
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/volumes/{volume_guid}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/volumes/{volume_guid}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/volumes/{volume_guid}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/volumes/{volume_guid}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /volumes/{volume_guid}/

Body parameter

{
  "filer_serial_number": "string",
  "name": "string",
  "protocols": {
    "permissions_policy": "NTFS60",
    "protocols": [
      "CIFS"
    ]
  },
  "antivirus_service": {
    "enabled": true,
    "days": {
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "check_files_immediately": true,
    "allday": true,
    "start": 0,
    "stop": 0,
    "frequency": 0
  },
  "quota": 0,
  "snapshot_retention": {
    "retain": "INFINITE",
    "number": 0,
    "years": 0,
    "months": 0,
    "days": 0
  },
  "cloud_io": {
    "dedupe": true,
    "compression": true,
    "chunk_size": 0
  },
  "provider": {
    "cred_uuid": "string",
    "name": "string",
    "shortname": "amazons3",
    "location": "string",
    "storage_class": "string"
  },
  "auth": {
    "authenticated_access": true,
    "policy": "ads",
    "policy_label": "string"
  },
  "options": {
    "auto_provision_cred": false,
    "create_new_key": true,
    "key_name": "string",
    "create_default_access_point": true
  }
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
body body Volume true none

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message

List Filer settings for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get volume settings for a Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier

Example responses

200 Response

{
  "guid": "string",
  "filer_serial_number": "string",
  "name": "string",
  "type": "master",
  "sync_schedule": {
    "days": {
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "allday": true,
    "start": 0,
    "stop": 0,
    "frequency": 0,
    "auto_cache_allowed": true,
    "auto_cache_min_file_size": 0
  },
  "snapshot_schedule": {
    "days": {
      "sun": true,
      "mon": true,
      "tue": true,
      "wed": true,
      "thu": true,
      "fri": true,
      "sat": true
    },
    "allday": true,
    "start": 0,
    "stop": 0,
    "frequency": 0
  },
  "snapshot_access": true,
  "file_alerts_service": {
    "enabled": true,
    "patterns": [
      "string"
    ]
  },
  "auditing": {
    "enabled": true,
    "collapse": true,
    "output_type": "csv",
    "destination": "string",
    "events": {
      "create": true,
      "delete": true,
      "rename": true,
      "close": true,
      "security": true,
      "metadata": true,
      "write": true,
      "read": true
    },
    "logs": {
      "prune_audit_logs": true,
      "days_to_keep": 0,
      "exclude_by_default": true,
      "include_takes_priority": true,
      "include_patterns": [
        "string"
      ],
      "exclude_patterns": [
        "string"
      ],
      "user_blacklist": [
        "string"
      ],
      "protocol_whitelist": [
        "CIFS"
      ]
    },
    "syslog_export": true
  },
  "status": {
    "accessible_data": 0,
    "data_not_yet_protected": 0,
    "first_snapshot": "string",
    "last_snapshot": "string",
    "last_snapshot_start": "string",
    "last_snapshot_end": "string",
    "last_snapshot_version": 0,
    "snapshot_status": "idle",
    "snapshot_percent": 0,
    "ftp_dir_count": 0,
    "export_count": 0,
    "share_count": 0
  },
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "shares": {
      "href": "string",
      "method": "string"
    },
    "exports": {
      "href": "string",
      "method": "string"
    },
    "ftp_directories": {
      "href": "string",
      "method": "string"
    },
    "antivirus_violations": {
      "href": "string",
      "method": "string"
    },
    "snapshots": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success VolumeFilerSetting
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update the settings for a volume on a specific Filer

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "auditing": {
    "enabled": true,
    "collapse": true,
    "output_type": "csv",
    "destination": "string",
    "events": {
      "create": true,
      "delete": true,
      "rename": true,
      "close": true,
      "security": true,
      "metadata": true,
      "write": true,
      "read": true
    },
    "logs": {
      "prune_audit_logs": true,
      "days_to_keep": 0,
      "exclude_by_default": true,
      "include_takes_priority": true,
      "include_patterns": [
        "string"
      ],
      "exclude_patterns": [
        "string"
      ],
      "user_blacklist": [
        "string"
      ],
      "protocol_whitelist": [
        "CIFS"
      ]
    },
    "syslog_export": true
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /volumes/{volume_guid}/filers/{filer_serial}/

Body parameter

{
  "auditing": {
    "enabled": true,
    "collapse": true,
    "output_type": "csv",
    "destination": "string",
    "events": {
      "create": true,
      "delete": true,
      "rename": true,
      "close": true,
      "security": true,
      "metadata": true,
      "write": true,
      "read": true
    },
    "logs": {
      "prune_audit_logs": true,
      "days_to_keep": 0,
      "exclude_by_default": true,
      "include_takes_priority": true,
      "include_patterns": [
        "string"
      ],
      "exclude_patterns": [
        "string"
      ],
      "user_blacklist": [
        "string"
      ],
      "protocol_whitelist": [
        "CIFS"
      ]
    },
    "syslog_export": true
  }
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
body body VolumeFilerSetting true Volume settings to update for a Filer

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filers volume has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message

List shares

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filers/shares/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filers/shares/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filers/shares/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filers/shares/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filers/shares/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filers/shares/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filers/shares/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filers/shares/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filers/shares/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List shares for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/shares/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/shares/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List shares for a volume and Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/shares/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Create share

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "name": "string",
  "path": "string",
  "comment": "string",
  "readonly": false,
  "browseable": true,
  "hosts_allow": "",
  "hide_unreadable": true,
  "enable_previous_vers": false,
  "case_sensitive": false,
  "enable_snapshot_dirs": false,
  "homedir_support": 0,
  "mobile": false,
  "browser_access": false,
  "browser_access_settings": {
    "shared_links_enabled": false,
    "link_force_password": true,
    "link_allow_rw": false,
    "external_share_url": "string",
    "link_expire_limit": 999,
    "link_auth": {
      "authall": true,
      "allow_groups_ro": [
        "string"
      ],
      "allow_groups_rw": [
        "string"
      ],
      "deny_groups": [
        "string"
      ],
      "allow_users_ro": [
        "string"
      ],
      "allow_users_rw": [
        "string"
      ],
      "deny_users": [
        "string"
      ]
    }
  },
  "aio_enabled": true,
  "veto_files": "",
  "fruit_enabled": false,
  "smb_encrypt": "",
  "auth": {
    "authall": true,
    "rw_groups": [
      "string"
    ],
    "ro_groups": [
      "string"
    ],
    "deny_groups": [
      "string"
    ],
    "ro_users": [
      "string"
    ],
    "rw_users": [
      "string"
    ],
    "deny_users": [
      "string"
    ]
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/filers/{filer_serial}/shares/

Body parameter

{
  "name": "string",
  "path": "string",
  "comment": "string",
  "readonly": false,
  "browseable": true,
  "hosts_allow": "",
  "hide_unreadable": true,
  "enable_previous_vers": false,
  "case_sensitive": false,
  "enable_snapshot_dirs": false,
  "homedir_support": 0,
  "mobile": false,
  "browser_access": false,
  "browser_access_settings": {
    "shared_links_enabled": false,
    "link_force_password": true,
    "link_allow_rw": false,
    "external_share_url": "string",
    "link_expire_limit": 999,
    "link_auth": {
      "authall": true,
      "allow_groups_ro": [
        "string"
      ],
      "allow_groups_rw": [
        "string"
      ],
      "deny_groups": [
        "string"
      ],
      "allow_users_ro": [
        "string"
      ],
      "allow_users_rw": [
        "string"
      ],
      "deny_users": [
        "string"
      ]
    }
  },
  "aio_enabled": true,
  "veto_files": "",
  "fruit_enabled": false,
  "smb_encrypt": "",
  "auth": {
    "authall": true,
    "rw_groups": [
      "string"
    ],
    "ro_groups": [
      "string"
    ],
    "deny_groups": [
      "string"
    ],
    "ro_users": [
      "string"
    ],
    "rw_users": [
      "string"
    ],
    "deny_users": [
      "string"
    ]
  }
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
body body any true The share to create.

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Get share

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
share_id path string true Share object identifier

Example responses

200 Response

{
  "id": 0,
  "filer_serial_number": "string",
  "volume_guid": "string",
  "name": "string",
  "path": "string",
  "comment": "string",
  "readonly": false,
  "browseable": true,
  "hosts_allow": "",
  "hide_unreadable": true,
  "enable_previous_vers": false,
  "case_sensitive": false,
  "enable_snapshot_dirs": false,
  "homedir_support": 0,
  "mobile": false,
  "browser_access": false,
  "browser_access_settings": {
    "shared_links_enabled": false,
    "link_force_password": true,
    "link_allow_rw": false,
    "external_share_url": "string",
    "link_expire_limit": 999,
    "link_auth": {
      "authall": true,
      "allow_groups_ro": [
        "string"
      ],
      "allow_groups_rw": [
        "string"
      ],
      "deny_groups": [
        "string"
      ],
      "allow_users_ro": [
        "string"
      ],
      "allow_users_rw": [
        "string"
      ],
      "deny_users": [
        "string"
      ]
    }
  },
  "aio_enabled": true,
  "veto_files": "",
  "fruit_enabled": false,
  "smb_encrypt": "",
  "auth": {
    "authall": true,
    "rw_groups": [
      "string"
    ],
    "ro_groups": [
      "string"
    ],
    "deny_groups": [
      "string"
    ],
    "ro_users": [
      "string"
    ],
    "rw_users": [
      "string"
    ],
    "deny_users": [
      "string"
    ]
  },
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    },
    "volume": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success Share
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Delete a share

Code samples

# You can also use wget
curl -X DELETE https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
DELETE https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.delete('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('DELETE','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
share_id path string true Share object identifier

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update share

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "name": "string",
  "path": "string",
  "comment": "string",
  "readonly": false,
  "browseable": true,
  "hosts_allow": "",
  "hide_unreadable": true,
  "enable_previous_vers": false,
  "case_sensitive": false,
  "enable_snapshot_dirs": false,
  "homedir_support": 0,
  "mobile": false,
  "browser_access": false,
  "browser_access_settings": {
    "shared_links_enabled": false,
    "link_force_password": true,
    "link_allow_rw": false,
    "external_share_url": "string",
    "link_expire_limit": 999,
    "link_auth": {
      "authall": true,
      "allow_groups_ro": [
        "string"
      ],
      "allow_groups_rw": [
        "string"
      ],
      "deny_groups": [
        "string"
      ],
      "allow_users_ro": [
        "string"
      ],
      "allow_users_rw": [
        "string"
      ],
      "deny_users": [
        "string"
      ]
    }
  },
  "aio_enabled": true,
  "veto_files": "",
  "fruit_enabled": false,
  "smb_encrypt": "",
  "auth": {
    "authall": true,
    "rw_groups": [
      "string"
    ],
    "ro_groups": [
      "string"
    ],
    "deny_groups": [
      "string"
    ],
    "ro_users": [
      "string"
    ],
    "rw_users": [
      "string"
    ],
    "deny_users": [
      "string"
    ]
  }
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /volumes/{volume_guid}/filers/{filer_serial}/shares/{share_id}/

Body parameter

{
  "name": "string",
  "path": "string",
  "comment": "string",
  "readonly": false,
  "browseable": true,
  "hosts_allow": "",
  "hide_unreadable": true,
  "enable_previous_vers": false,
  "case_sensitive": false,
  "enable_snapshot_dirs": false,
  "homedir_support": 0,
  "mobile": false,
  "browser_access": false,
  "browser_access_settings": {
    "shared_links_enabled": false,
    "link_force_password": true,
    "link_allow_rw": false,
    "external_share_url": "string",
    "link_expire_limit": 999,
    "link_auth": {
      "authall": true,
      "allow_groups_ro": [
        "string"
      ],
      "allow_groups_rw": [
        "string"
      ],
      "deny_groups": [
        "string"
      ],
      "allow_users_ro": [
        "string"
      ],
      "allow_users_rw": [
        "string"
      ],
      "deny_users": [
        "string"
      ]
    }
  },
  "aio_enabled": true,
  "veto_files": "",
  "fruit_enabled": false,
  "smb_encrypt": "",
  "auth": {
    "authall": true,
    "rw_groups": [
      "string"
    ],
    "ro_groups": [
      "string"
    ],
    "deny_groups": [
      "string"
    ],
    "ro_users": [
      "string"
    ],
    "rw_users": [
      "string"
    ],
    "deny_users": [
      "string"
    ]
  }
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
share_id path string true Share object identifier
body body Share true Share fields to update

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List exports

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filers/exports/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filers/exports/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filers/exports/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filers/exports/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filers/exports/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filers/exports/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filers/exports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filers/exports/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filers/exports/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List exports for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/exports/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/exports/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List exports for a volume and Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/exports/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Create export

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "name": "string",
  "path": "/",
  "comment": "string",
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/filers/{filer_serial}/exports/

Only available on NMC version 21.2 and higher.

Body parameter

{
  "name": "string",
  "path": "/",
  "comment": "string",
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
body body any true The export to create.

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Get export

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier

Example responses

200 Response

{
  "id": 0,
  "filer_serial_number": "string",
  "volume_guid": "string",
  "name": "string",
  "path": "/",
  "comment": "string",
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ],
  "nfs_host_options": [
    {
      "id": 0,
      "readonly": false,
      "hostspec": "*",
      "access_mode": "root_squash",
      "perf_mode": "sync",
      "sec_options": [
        "sys"
      ],
      "links": {
        "self": {
          "href": "string",
          "method": "string"
        },
        "export": {
          "href": "string",
          "method": "string"
        }
      }
    }
  ],
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    },
    "volume": {
      "href": "string",
      "method": "string"
    },
    "nfs_host_options": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success Export
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Delete export

Code samples

# You can also use wget
curl -X DELETE https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
DELETE https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.delete('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('DELETE','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/

Only available on NMC version 21.2 and higher.

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update export

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "name": "string",
  "path": "/",
  "comment": "string",
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/

Only available on NMC version 21.2 and higher.

Body parameter

{
  "name": "string",
  "path": "/",
  "comment": "string",
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier
body body Export true Export fields to update

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List NFS host options for an export

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/

Only available on NMC version 21.2 and higher.

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Create NFS host option

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/

Only available on NMC version 21.2 and higher.

Body parameter

{
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier
body body any true The NFS host option to create.

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Get a host option for an export

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/

Only available on NMC version 21.2 and higher.

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier
host_option_id path string true Host option object indentifier

Example responses

200 Response

{
  "id": 0,
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ],
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "export": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success NfsHostOption
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Delete host option

Code samples

# You can also use wget
curl -X DELETE https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
DELETE https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.delete('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('DELETE','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/

Only available on NMC version 21.2 and higher.

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier
host_option_id path string true Host option object indentifier

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update an existing host option

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /volumes/{volume_guid}/filers/{filer_serial}/exports/{export_id}/nfs_host_options/{host_option_id}/

Only available on NMC version 21.2 and higher.

Body parameter

{
  "readonly": false,
  "hostspec": "*",
  "access_mode": "root_squash",
  "perf_mode": "sync",
  "sec_options": [
    "sys"
  ]
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
export_id path string true Export object identifier
host_option_id path string true Host option object indentifier
body body NfsHostOption true Host option fields to update

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List FTP directories

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filers/ftp-directories/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filers/ftp-directories/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filers/ftp-directories/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filers/ftp-directories/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filers/ftp-directories/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filers/ftp-directories/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filers/ftp-directories/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filers/ftp-directories/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filers/ftp-directories/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List FTP directories for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/ftp-directories/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/ftp-directories/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List FTP directories for a volume and Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get FTP directory

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/ftp-directories/{ftpdir_id}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
ftpdir_id path string true FTP directory object identifier

Example responses

200 Response

{
  "id": 0,
  "name": "string",
  "path": "string",
  "comment": "string",
  "readonly": true,
  "visibility": "default",
  "allow_from": "string",
  "allow_users": "string",
  "allow_groups": "string",
  "anonymous": true,
  "anonymous_only": true,
  "umask": "000",
  "hide_ownership": true,
  "hidden_stores": true,
  "filer_serial_number": "string",
  "volume_guid": "string",
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    },
    "volume": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success FtpDirectory
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List volume connections

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filer-connections/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filer-connections/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filer-connections/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filer-connections/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filer-connections/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filer-connections/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filer-connections/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filer-connections/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filer-connections/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List volume connections for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filer-connections/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get volume connection

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filer-connections/{filer_serial}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filer-connections/{filer_serial}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier

Example responses

200 Response

{
  "connected": true,
  "volume_guid": "string",
  "filer_serial_number": "string",
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success VolumeConnection
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List antivirus violations

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filers/antivirus-violations/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filers/antivirus-violations/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filers/antivirus-violations/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filers/antivirus-violations/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filers/antivirus-violations/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filers/antivirus-violations/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filers/antivirus-violations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filers/antivirus-violations/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filers/antivirus-violations/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List antivirus violations for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/antivirus-violations/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/antivirus-violations/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List antivirus violations for a volume and Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get antivirus violation

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/antivirus-violations/{antivirus_id}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
antivirus_id path string true Antivirus violation object identifier

Example responses

200 Response

{
  "id": 0,
  "fpath": "string",
  "vname": "string",
  "volume_uri": "string",
  "seqno": 0,
  "filer_serial_number": "string",
  "volume_guid": "string",
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    },
    "volume": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success AntivirusViolation
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List folder quotas

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/folder-quotas/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/folder-quotas/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/folder-quotas/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/folder-quotas/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/folder-quotas/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/folder-quotas/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/folder-quotas/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/folder-quotas/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/folder-quotas/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List folder quotas for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/folder-quotas/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Create folder quota

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "type": "rule",
  "path": "string",
  "email": "string",
  "limit": 0,
  "children": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/folder-quotas/

Body parameter

{
  "type": "rule",
  "path": "string",
  "email": "string",
  "limit": 0,
  "children": true
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
body body any true The folder quota to create.

Example responses

200 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success MessageResponse
401 Unauthorized Authentication failure ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Get folder quota

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/folder-quotas/{folder_quota_id}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
folder_quota_id path string true Folder Quota object identifier

Example responses

200 Response

{
  "id": "string",
  "filer_serial_number": "string",
  "volume_guid": "string",
  "type": "rule",
  "path": "string",
  "email": "string",
  "limit": 0,
  "usage": 0,
  "children": true,
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "delete": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success FolderQuota
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Delete folder quota

Code samples

# You can also use wget
curl -X DELETE https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
DELETE https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/',
{
  method: 'DELETE',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.delete 'https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.delete('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('DELETE','https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

DELETE /volumes/{volume_guid}/folder-quotas/{folder_quota_id}/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
folder_quota_id path string true Folder Quota object identifier

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted the request and returns a status message MessageResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Update folder quota

Code samples

# You can also use wget
curl -X PATCH https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
PATCH https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "type": "rule",
  "path": "string",
  "email": "string",
  "limit": 0,
  "children": true
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/',
{
  method: 'PATCH',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.patch 'https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.patch('https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('PATCH','https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("PATCH");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("PATCH", "https://hostname/api/v1.2/volumes/{volume_guid}/folder-quotas/{folder_quota_id}/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

PATCH /volumes/{volume_guid}/folder-quotas/{folder_quota_id}/

Body parameter

{
  "type": "rule",
  "path": "string",
  "email": "string",
  "limit": 0,
  "children": true
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
folder_quota_id path string true Folder Quota object identifier
body body FolderQuota false The folder quota fields to edit.

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted the request and returns a status message MessageResponse
401 Unauthorized Authentication failure ErrorResponse
404 Not Found Resource not found ErrorResponse
405 Method Not Allowed Method not allowed ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

List snapshot statuses

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filers/snapshots/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filers/snapshots/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filers/snapshots/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filers/snapshots/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filers/snapshots/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filers/snapshots/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filers/snapshots/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filers/snapshots/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filers/snapshots/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List snapshot statuses for a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/snapshots/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/snapshots/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

List snapshot status for a volume and Filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/snapshots/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Request snapshot for volume

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/',
{
  method: 'POST',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/snapshots/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/filers/{filer_serial}/snapshots/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted the request and returns a status message MessageResponse
401 Unauthorized Authentication failure ErrorResponse
409 Conflict Conflict, there's already a snapshot in progress. Error
429 Too Many Requests Request throttled ErrorResponse

Enable global locking and its various modes on a specified path

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "path": "string",
  "mode": "optimized"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/global-lock-folders/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/global-lock-folders/

Body parameter

{
  "path": "string",
  "mode": "optimized"
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
body body any true The global locking settings to create.

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message. MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Get a list of all known paths

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filers/paths/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filers/paths/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filers/paths/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filers/paths/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filers/paths/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filers/paths/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filers/paths/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filers/paths/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filers/paths/

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get a list of all known paths with a specific volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/paths/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/paths/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get a list of all known paths with a specific volume and filer

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/paths/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/paths/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get info on a specific path

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path} \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path} HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/{filer_serial}/path/{path}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
path path string true Folder or File path (URL-encoded)

Example responses

200 Response

{
  "filer_serial_number": "string",
  "volume_guid": "string",
  "path": "string",
  "is_dir": true,
  "cache_resident": true,
  "protected": true,
  "owner": "string",
  "size": 0,
  "pinning_enabled": true,
  "pinning_mode": "metadata",
  "pinning_inherited": true,
  "autocache_enabled": true,
  "autocache_mode": "metadata",
  "autocache_inherited": true,
  "quota_enabled": true,
  "quota_type": "rule",
  "quota_email": "string",
  "quota_usage": 0,
  "quota_limit": 0,
  "quota_inherited": true,
  "global_locking_enabled": true,
  "global_locking_inherited": true,
  "global_locking_mode": "optimized",
  "updated": "string",
  "expires": "string",
  "links": {
    "self": {
      "href": "string",
      "method": "string"
    },
    "volume": {
      "href": "string",
      "method": "string"
    },
    "filer": {
      "href": "string",
      "method": "string"
    },
    "refresh": {
      "href": "string",
      "method": "string"
    },
    "cache": {
      "href": "string",
      "method": "string"
    }
  }
}

Responses

Status Meaning Description Schema
200 OK Success PathData
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Refresh info about a given path

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path} \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path} HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}',
{
  method: 'POST',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/path/{path}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/filers/{filer_serial}/path/{path}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
path path string true Folder or File path (URL-encoded)

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message. MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
405 Method Not Allowed Method not allowed ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message.

Bring path into cache

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path} \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path} HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "metadata_only": false,
  "force": false
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/filers/{filer_serial}/cache-path/{path}

Only available with Filers on version 8.5 and higher.

Body parameter

{
  "metadata_only": false,
  "force": false
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
path path string true Folder or File path (URL-encoded)
body body any false Whether or not to bring only directory metadata into cache

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message

Try to make the given directory path

Code samples

# You can also use wget
curl -X POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/ \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
POST https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/ HTTP/1.1
Host: hostname
Content-Type: application/json
Accept: application/json
const inputBody = '{
  "path": "string"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.post 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.post('https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/', headers = headers)
print(r.json())
 'application/json',
    'Accept' => 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('POST','https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /volumes/{volume_guid}/filers/{filer_serial}/make-dir-path/

Only available with Filers on version 8.5 and higher.

Body parameter

{
  "path": "string"
}

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
filer_serial path string true Filer object identifier
body body object true Create the given path as a directory under the volume on the given filer. The path should start with a /.
» path body string false none

Example responses

202 Response

{
  "message": {
    "id": "string",
    "filer_serial_number": "string",
    "description": "string",
    "code": "string",
    "status": "synced",
    "send_time": "string",
    "expiration_time": "string",
    "response_time": "string",
    "initiated_by": "string",
    "links": {
      "self": {
        "href": "string",
        "method": "string"
      },
      "filer": {
        "href": "string",
        "method": "string"
      },
      "acknowledge": {
        "href": "string",
        "method": "string"
      },
      "applied_resource": {
        "href": "string",
        "method": "string"
      }
    },
    "error": {
      "code": "error",
      "description": "string"
    }
  }
}

Responses

Status Meaning Description Schema
202 Accepted Accepted - Filer has been sent a message MessageResponse
400 Bad Request Validation error ErrorResponse
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
409 Conflict Conflict ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Headers

Status Header Type Format Description
202 Location string URL to the associated message

Get a list of all pinned folders

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/filers/pinned-folders/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/filers/pinned-folders/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/filers/pinned-folders/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/filers/pinned-folders/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/filers/pinned-folders/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/filers/pinned-folders/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/filers/pinned-folders/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/filers/pinned-folders/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/filers/pinned-folders/

Parameters

Name In Type Required Description
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.

Get a list of all pinned folders in a volume

Code samples

# You can also use wget
curl -X GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/ \
  -H 'Accept: application/json' \
  -H 'Authorization: API_KEY'
GET https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/ HTTP/1.1
Host: hostname
Accept: application/json
const headers = {
  'Accept':'application/json',
  'Authorization':'API_KEY'
};
fetch('https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/',
{
  method: 'GET',
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});
require 'rest-client'
require 'json'
headers = {
  'Accept' => 'application/json',
  'Authorization' => 'API_KEY'
}
result = RestClient.get 'https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/',
  params: {
  }, headers: headers
p JSON.parse(result)
import requests
headers = {
  'Accept': 'application/json',
  'Authorization': 'API_KEY'
}
r = requests.get('https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/', headers = headers)
print(r.json())
 'application/json',
    'Authorization' => 'API_KEY',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
    $response = $client->request('GET','https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }
 // ...
URL obj = new URL("https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
       "bytes"
       "net/http"
)
func main() {
    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "Authorization": []string{"API_KEY"},
    }
    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://hostname/api/v1.2/volumes/{volume_guid}/filers/pinned-folders/", data)
    req.Header = headers
    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /volumes/{volume_guid}/filers/pinned-folders/

Parameters

Name In Type Required Description
volume_guid path string true Volume identifier
limit query integer false The maximum number of objects to return
offset query integer false The index of the first object to return

Example responses

200 Response

{
  "Paging": {
    "href": "string",
    "limit": 0,
    "next": "string",
    "offset": 0,
    "previous": "string",
    "total": 0
  }
}

Responses

Status Meaning Description Schema
200 OK Success Inline
401 Unauthorized Authentication failure ErrorResponse
403 Forbidden Permission denied ErrorResponse
404 Not Found Resource not found ErrorResponse
429 Too Many Requests Request throttled ErrorResponse

Response Schema

Status Code 200

Name Type Required Restrictions Description
» Paging Paging false none The paging object provides a container for a listing of objects, defining the start, end, and total size of the listing. Any endpoint that returns a list of items, will likely be wrapped in a paging object.
»» href string false none A link to the requested endpoint.
»» limit integer false none The maximum number of items in a page.
»» next string false none A link to the next page of objects. The value will be null if there isn't one.
»» offset integer false none The item number the page starts on.
»» previous string false none A link to the previous page of objects. The value will be null if there isn't one.
»» total integer false none Total number of items available at the requested endpoint.