6.3 HP StoreAll Storage File System User Guide (TA768-96093, June 2013)

All HTTP query responses generated by the API code follow the JSON standard. No XML
response format is provided at this time.
HTTP request messages have a practical limit of about 2000 bytes, and it can be less if certain
proxy servers are traversed in the network path.
URL encoding
HTTP query strings are URL-decoded by the API code. API clients must encode special characters,
such as greater-than character (>), by replacing them with their hexadecimal equivalent values as
shown by the examples in this section.
The API’s URL decoder interprets certain special characters properly without being URL encoded.
Before the question mark character (?) in any HTTP request URL, the following characters are safe
and do not need to be URL encoded:
/ : - _ . ~ @ #
After the question mark character (?), the following characters are safe and do not need to be URL
encoded:
= & #
All other characters must be URL encoded as their hexadecimal value as described in the ISO-8859-1
(ISO-Latin) standard. For example, the plus character (+) must be encoded as %2B, and the greater
than character (>) must be encoded as %3E.
Spaces can be encoded as either %20 or as the plus character (+), such as "my%20file.txt"
or "my+file.txt" for the file "my file.txt". The plus character (+) is converted to a space
when the URL is decoded by the API code. To include a plus character (+) in the URL, encode it
as %2B, such as "A%2B" instead of "A+".
If you are using a tool such as curl to send the HTTP request, the tool might URL-encode certain
characters automatically, although you might have to enclose at least part of the URL in quotes for
it to do so. The exact behavior depends on the tool.
In the curl examples shown in this section, the entire URL is enclosed in double quotes so that the
non-encoded characters can be shown for readability. The curl tool URL-encodes all required
characters within the double quotes correctly. If you are using a different tool or constructing the
URL programmatically or manually, ensure that the right characters are URL-encoded before sending
it over HTTP to the API.
Pathname parameters
The pathname parameter provided in HTTP requests throughout the syntax must be specified as a
relative path from the <urlpath>, including the file name.
However, the system metadata attribute system::path available for metadata queries must be
specified as a path relative to the mount point of the StoreAll file system. Paths are stored in the
metadata database by this technique.
Optional version parameter
Every StoreAll REST API request can optionally include the following literal string immediately after
the question mark character (?) in the request:
version=1
The version field is recommended, but not required. In the syntax descriptions, it is surrounded by
square brackets to indicate that it is optional.
Changes to this API will normally be backward-compatible, and not require any client-side syntax
changes to perform the same operations. However, certain changes might be required in future
API versions that break backward compatibility. In that case, the version is increased to the next
value. Any request without the version field might no longer work as desired or it might return an
154 HTTP-REST API file-compatible mode shares