- Resource URI format
Resources can be accessed using the following URI formats.
- HTTP methods
The REST API server supports the following HTTP methods.
- Non-CRUD operations
Some storage actions cannot be completed using the create, read, update, and delete (CRUD) operations. In general, a POST operation is performed for non-CRUD actions on a resource. For example, to format a file system, the request URI is:
- Required custom HTTP headers
The following custom headers are required by all operations.
- Optional custom HTTP headers
- HTTP status codes
The REST API server responds with the following status codes, which are defined in RFC 2616.
- Storage system error response
In cases when an error is thrown by the storage system, the REST API server displays the error code and error message in the response body as shown in the example below.
- Basic data types
The data types are JSON data types.
- Large numbers
Some object models contain unsigned 64 bit numbers, which can cause problems with some clients being able to interpret them.
- Inventory of supported APIs
A GET operation to https://<host>:<port>/v8/ will return an HTML page that lists all supported REST API server operations.
- Checking minor API version
When making requests to the REST API server, the major version is included as part of the URI. But it is possible for a client to determine the minor version of a successful API call response by checking the headers returned to the client.
- Input and output format
The REST API server supports JSON input/output format.
- Paging output
Output paging is supported for GET ALL API operations (for example, Get
all file storage system statistics). It is possible to specify the page size (number
of items) returned, and the page (an offset into the total results) that is to be
returned. This functionality should be used if the expected number of items to be
returned may be excessive for a single response.
- Sort output
Sorting is controlled by the top-level scalar (of type boolean, number, or
string) attributes. REST API server does not support either multi-level or nesting
sort operations. REST API server only supports sorting for the GET ALL API
operations (for example, Get all storage pools).
- Filter output
Filtering is used to narrow the result set, and can be used at the same
time as result sorting.
- Output embedded
REST API server supports embedding for single-level associations.