See: Description
| Class | Description |
|---|---|
| ApiVersion |
The ApiVersion resource represents the version of the system REST Web Services API.
|
| ConditionalFeatures |
The ConditionalFeatures resource represents the configuration of conditional features of the system.
|
| DXiRESTMediaType |
Media Types for the system REST Web Services.
|
| FileUpload |
The FileUpload resource provides a service to upload files to the system.
|
| JaxbTextProvider | |
| Version | Deprecated
Use
ApiVersion instead. |
Versioning
This is revision 1.2.10 of the REST Web Service API for DXi releases after 5.1.3. Previous supported revisions are:
Versioning is supported by the REST Web Service API via content type negotiation. Web service requests MUST specify an API version as described below. Specifying standard mime types such as application/json may result in a successful web service call, but is not supported and may result in routing to the "wrong" version of the request.
When performing a GET, specify the version of the API in the Accept header of your request.
When performing a PUT, specify the version of the API in the Content-Type and Accept headers of your request.
When performing a POST operation that creates a new entity, specify the version of the API in the Content-Type and Accept headers of your request.
When performing a POST operation that executes a procedure (e.g., reboot the system) rather than creating an entity, specify the version of the API in the Accept headers of your request, even though the POST response may have no content.
When performing a DELETE, specify the version of the API in the Accept headers of your request, even though the DELETE response will have no content.
Acceptable media types for Accept and Content-Type headers are defined in DXiRESTMediaType.
The media types specify the version as well as the content format of the request and/or response entities as appropriate.
Please note that APIs revision x.y.z use the same media types as APIs version x.y.
For example: When using an API documented as "@since 1.2.x", use the media types defined for 1.2.
Media types are defined for versions 1.0, 1.1, and 1.2.
Access
In order to use the APIs, authentication is needed. Any user/password
combination that can access the GUI can be used for authentication.
The intial API to call is:
/rest/DXi/authenticate
This call will return a JSESSION cookie in the response.
This cookie is then used for future API requests.
Table Entity Paging, Sorting, and Filtering
System REST Web Services support URL query parameters for paging, sorting, and filtering for entities that return lists of items, referred to as Tables. The following query parameters are all optional; if paging and filtering are not specified, the entire table is returned.
Paging is supported by the start and count query parameters.
The start parameter indicates the (0-based) index of the first element to be returned, and count
indicates the maximum number of elements to return.
Examples:
?count=100 - return the first hundred items (0 to 99). ?start=200&count=100 - return the 3rd hundred items (200 to 299). ?start=200 - return all items in the table starting with item number 200.
Sorting is supported by the sort and dir query parameters. The latter has no effect if sort is not specified.
The sort parameter indicates which column to sort on. dir must be ASC (the default) or
DESC, indicating whether the lexicographical sort on the specified column values should be ascending or descending.
Example: ?sort=Name&dir=DESC
Filtering is supported by the filter query parameter. Filters are defined by column names and filtering operations.
Filters may be combined using the AND operator. The supported filter operations are:
Example: ?filter=Protocol(EQ)NFS(AND)Name(EQ)myShare
Common Data Types
<xs:element name="Scalar" type="ScalarType"/>
<xs:complexType name="ScalarType">
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Scalars">
<xs:complexType>
<xs:sequence>
<xs:element ref="Scalar" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="NumericScalar" type="NumericScalarType"/>
<xs:complexType name="NumericScalarType">
<xs:complexContent>
<xs:extension base="ScalarType">
<xs:sequence>
<xs:element name="Value" type="xs:long"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="StringScalar" type="StringScalarType"/>
<xs:complexType name="StringScalarType">
<xs:complexContent>
<xs:extension base="ScalarType">
<xs:sequence>
<xs:element name="Value" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="StringListScalar" type="StringListScalarType"/>
<xs:complexType name="StringListScalarType">
<xs:complexContent>
<xs:extension base="ScalarType">
<xs:sequence>
<xs:element name="Value" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="FloatScalar" type="FloatScalarType"/>
<xs:complexType name="FloatScalarType">
<xs:complexContent>
<xs:extension base="ScalarType">
<xs:sequence>
<xs:element name="Value" type="xs:float"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="BooleanScalar" type="BooleanScalarType"/>
<xs:complexType name="BooleanScalarType">
<xs:complexContent>
<xs:extension base="ScalarType">
<xs:sequence>
<xs:element name="Value" type="xs:boolean"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="TimedLongs">
<xs:complexType>
<xs:sequence>
<xs:element name="T" type="xs:long">
<xs:annotation>
<xs:documentation>Offset from Base Time</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="V1" type="xs:long">
<xs:annotation>
<xs:documentation>Value for Id 1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="V2" type="xs:long" minOccurs="0">
<xs:annotation>
<xs:documentation>Value for Id 2</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="V3" type="xs:long" minOccurs="0"/>
<xs:element name="V4" type="xs:long" minOccurs="0"/>
<xs:element name="V5" type="xs:long" minOccurs="0"/>
<xs:element name="V6" type="xs:long" minOccurs="0"/>
<xs:element name="V7" type="xs:long" minOccurs="0"/>
<xs:element name="V8" type="xs:long" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TimedFloats">
<xs:complexType>
<xs:sequence>
<xs:element name="T" type="xs:long">
<xs:annotation>
<xs:documentation>Offset from Base Time</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="V1" type="xs:float">
<xs:annotation>
<xs:documentation>Value for Id 1</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="V2" type="xs:float" minOccurs="0">
<xs:annotation>
<xs:documentation>Value for Id 2</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="V3" type="xs:float" minOccurs="0"/>
<xs:element name="V4" type="xs:float" minOccurs="0"/>
<xs:element name="V5" type="xs:float" minOccurs="0"/>
<xs:element name="V6" type="xs:float" minOccurs="0"/>
<xs:element name="V7" type="xs:float" minOccurs="0"/>
<xs:element name="V8" type="xs:float" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LongSeries">
<xs:complexType>
<xs:sequence>
<xs:element name="IdentifierList" type="xs:string">
<xs:annotation>
<xs:documentation>Comma seperated list of Ids</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalCount" type="xs:long"/>
<xs:element name="BaseTime" type="xs:long"/>
<xs:element ref="TimedLongs" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="FloatSeries">
<xs:complexType>
<xs:sequence>
<xs:element name="IndentifierList" type="xs:string">
<xs:annotation>
<xs:documentation>Comma seperated list of Ids</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="TotalCount" type="xs:long"/>
<xs:element name="BaseTime" type="xs:long"/>
<xs:element ref="TimedFloats" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Error Handling
Authentication Error
In reponse to a request that requires authentication; this error is returned along with an HTTP 401 (Unauthorized) Status Code.
<xs:element name="AuthenticationError">
<xs:complexType>
<xs:sequence>
<xs:element name="ExceptionType" type="xs:string"/>
<xs:element name="Reason" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>"Not Authenticated"</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ErrorCode" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Duplicate Name Error
In response to a POST request where a client tries add a resource that already exists; this error is returned along with an HTTP 400 (Bad Request) Status Code.
<xs:element name="DuplicateNameError">
<xs:complexType>
<xs:sequence>
<xs:element name="ExceptionType" type="xs:string"/>
<xs:element name="PropertyName" type="xs:string"/>
<xs:element name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>
Name of the resource.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
No Such Name Error
In response to a request for a resource that does not exist; this error is returned along with an HTTP 404 (Not Found) Status Code.
<xs:element name="NoSuchNameError">
<xs:complexType>
<xs:sequence>
<xs:element name="ExceptionType" type="xs:string"/>
<xs:element name="PropertyName" type="xs:string"/>
<xs:element name="Name" type="xs:string">
<xs:annotation>
<xs:documentation>
Name of the resource.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Operation Failed
In response to a request that can't be completed due to some server condition; this error is returned along with an HTTP 500 (Internal Server Error) status code.
<xs:element name="OperationFailedError">
<xs:complexType>
<xs:sequence>
<xs:element name="ExceptionType" type="xs:string"/>
<xs:element name="Reason" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
Description of the error.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ErrorCode" type="xs:int" minOccurs="0">
<xs:annotation>
<xs:documentation>
Implementation defined error code.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
Table Full Error
In reponse to a POST request attempted on a table that has already reached capacity; this error is returned along with an HTTP 400 (Bad Request) Status Code.
<xs:element name="TableFullError">
<xs:complexType>
<xs:sequence>
<xs:element name="ExceptionType" type="xs:string"/>
<xs:element name="TableName" type="xs:string"/>
<xs:annotation>
<xs:documentation>
Name of the table.
</xs:documentation>
</xs:annotation>
</xs:sequence>
</xs:complexType>
</xs:element>
Timeout Error
In reponse to a request where the implementation does not complete in an allotted time; this error is returned along with an HTTP 500 (Internal Server Error) Status Code.
<xs:element name="TimeoutError">
<xs:complexType>
<xs:sequence>
<xs:element name="ExceptionType" type="xs:string"/>
<xs:element name="Reason" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>Name of the method that timed out.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ErrorCode" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Validation Error
In response to POST or PUT request if one or more of the properties is invalid due to length, value, or bad characters; this error is returned along with an HTTP 400 (Bad Request) Status Code.
<xs:element name="ValidationError">
<xs:complexType>
<xs:sequence>
<xs:element name="PropertyName" type="xs:string">
<xs:annotation>
<xs:documentation>
The Schema defined name of the property that is invalid.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="ErrorCode" type="xs:long" minOccurs="0">
<xs:annotation>
<xs:documentation>
Error code as defined by the implementation.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Reason" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
Description of the error.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ValidationErrors">
<xs:complexType>
<xs:sequence>
<xs:element name="ExceptionType" type="xs:string"/>
<xs:element ref="ValidationError" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Copyright © 2011-2025 Quantum Corporation. All Rights Reserved.