FileWave Anywhere API Documentation
FileWave Anywhere has a dedicated documentation page, which is built by Swagger and is OpenAPI.
The documentation should only list public (non-internal) URL paths. Not only does it list possible commands, but there is an option to 'Try it Out', allowing execution of the command from the documentation.
Executing a command from the Swagger API documentation is a live action on the FileWave Server, it will act as requested and can be destructive. Be 100% sure before of any command before executing.
Unsure if an API call exists for the intended action? Need to confirm the format or name of a key in the JSON? Are some keys in the JSON required? What is the ID of the item to be targeted?
These are some of the questions the Swagger documentation can answer.
Executing commands from the Swagger documentation requires an active login to the FileWave Anywhere web admin. If this login times out, a fresh login action will be required.
On earlier versions of FileWave, the Documentation page may be accessed without logging in first, but it may then only be viewed as 'read only'.
This is no longer the case and it should be expected to log into FileWave Anywhere to access the API documentation.
First log into FileWave Anywhere through a web browser. The address should be the same as shown in the FileWave Central Mobile Preferences:
The URL for the Swagger documents page is the server address appended with /api/doc/. From the example above, it would look as follows:
The response section from an executed action shows the curl command, the requested URL and the returned response (code and body)
Authentication through the Swagger documentation uses a X-CSRFToken. This token is for use in Swagger alone. The base64 token should be used elsewhere, as shown in all other examples. If copying this command to paste into a script or alternative tool, ensure to remove this part of the line and insert the correct authentication token from FileWave Central.
Swagger can not only be used for testing API calls and discovering the URL paths, but also determining the necessary content of the key/value pairs.
To simply locate all paths relating to queries, for example, the browse 'find' feature could easily assist:
Executing a list of all queries:
The response could then be searched to find the ID of a particular query:
Using Query ID 191 as an example, that ID may then be used in a following GET, which will respond with the definition of that query:
The Query Definition shows the various key/value pairs and can be used to identify values which could then be submitted in other API calls.
To discover the name used as a value for a particular item, consider building a query in FileWave Central, then using the above steps to locate the name to be used within the API call. For example: interface_name, device_name, DesktopClient.
Taking that another step forward, the same ID could be used to show the response of query results:
The same documentation can therefore be used to assist with the Command Line RESTful API, just remember the path needs to be altered if copying them.
Hopefully this has shown the Swagger documentation to be a great way to discover JSON formatting, key/value names, URL paths and list the commands available through the API.