What is an API?
What
AnApplication APIProgramming allowsInterface you(API). toAPIs programmatically readprovide the reading or writewriting of information to one or more services.
FileWave has a rich set of APIs to allow customers to build connections. ThereSome arevendors also some vendors who produce integrationsintegrations, that use theutilising FileWave APIAPI, without you needing to work with the API directly.
When/Why
Any time you want toAPIs extend whatthe FileWavecapability isand capableintegration of or integrate FileWave with other systems you may use APIs.Systems.
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 been2 aroundAPIs
History
For inventory purposes, FileWave has a Command Line API, designed to interact with Inventory Queries. This API has existed for some time,years and therecan iswork aon slighteither differenceport in20443 or port 20445.
Since the URL structure between the old and new versionsintroduction of the API.FileWave Toweb accessadmin, the'FileWave Anywhere', a new API endpoints,was simplycreated. addFileWave "Anywhere interacts with the FileWave Server using this new API. Unless configured otherwise, FileWave Anywhere works over port 443.
The Web API has its own paths, when compared with the Command Line version (note the extra /api/"api toat the beginning of the URL.path. ForBelow is an example, ifwhich thecreates old version of the API URL was "/inv/api/", thea new URLInventory wouldQuery, beusing "/api/inv/api/".both ThisAPIs.
TCP was made during the transition to the API-first approach and the FileWave Anywhere admin console, with the new API endpoints now utilizing TCPport 443 for(default communication. If you encounter any issues, ensure that the URL starts with "/api/" to determineport if younot arespecified usingin 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.URL). 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.port 20445 (could also use port 20443). 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
Since the Web API is used for all server interaction, strictly speaking anything that can be achieved in FileWave Anywhere may also be programmed. As such, the scope of the Web API is broader in the main than that of the Command Line version.
The Web API has both public and private URLs. Private URLs can be changed, between FileWave versions, at any time without warning or notification and as such should be avoided in scripts and other systems interacting with FileWave. They are easily recognisable by the word 'internal' in their URL paths, as per below:
https://${server_dns}/filewave/api/devices/internal/devices/${filewave_id}/details/custom_fields/fields