What is an API?
What
An API allows you to programmatically read or write information to one or more services. FileWave has a rich set of APIs to allow customers to build connections. There are also some vendors who produce integrations that use the FileWave API without you needing to work with the API directly.
When/Why
Any time you want to extend what FileWave is capable of or integrate FileWave with other systems you may use APIs.
How
The articles linked to this article are a good starting point. Professional Services can also help with learning and using APIs.
- RESTful API (v1 API)
- Anywhere API (v2 API)
- How do I export the results of an Inventory query?
- Using the RESTful API to limit, sort, and offset values returned
- Programmatically Store Client Device Details (macOS) to JSON with FileWave REST API
An important note on URLs
FileWave has been around for some time, and there is a slight difference in the URL structure between the old and new versions of the API. To access the new API endpoints, simply add "/api/" to the beginning of the URL. For example, if the old version of the API URL was "/inv/api/", the new URL would be "/api/inv/api/". This change was made during the transition to the API-first approach and the FileWave Anywhere admin console, with the new API endpoints now utilizing TCP 443 for communication. If you encounter any issues, ensure that the URL starts with "/api/" to determine if you are using the modern API or the v1 API. Over time, it is advisable to migrate from TCP 20445 to TCP 443 to align with the new API structure.
This on TCP 443 like all the other API. Notice that it begins with /api/inv/api/
curl -s -k -H "Authorization: e2M2sssYjIwLTxxx1hMzdiLTFmyyyGIwYTdjOH0=" https://myserver.filewave.net/api/inv/api/v1/query/ \
--header "Content-Type: application/json" -X POST -d @ios16_incompatible.json
This only with TCP 20445. Notice that it begins /inv/api/
curl -s -k -H "Authorization: e2M2sssYjIwLTxxx1hMzdiLTFmyyyGIwYTdjOH0=" https://myserver.filewave.net:20445/inv/api/v1/query/ \
--header "Content-Type: application/json" -X POST -d @ios16_incompatible.json