Skip to main content

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.

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.

change

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