Skip to main content

Choose a FileWave API

What

ApplicationAn Programmingapplication Interfaceprogramming interface (API). APIslets programmaticallysoftware provideread thedata readingfrom a service or writingsend ofdata informationback tothrough onedefined or more services.requests.

FileWave has a rich set of APIs tosupport allowintegrations, customersinventory toreporting, buildand connections.repeatable administration. Some vendors alsoprovide produceready-made FileWave integrations, utilisingso check the integration documentation before building your own.

When to use an API

Use an API when another system needs FileWave API,data, withoutwhen needingFileWave must receive a controlled update, or when a tested administrative task should run automatically.

Where to workstart

with

Choose the supported API directly.

that

When/Why

APIs extendmatches the capabilitytask, create a restricted application token, and integrationtest ofread-only calls before allowing writes. FileWave with other Systems. 

How

The articles linked to this article are a good starting point. Professional Services can also help withdesign learningor andreview usingan APIs.integration.

AnChoose importantthe notecorrect onFileWave URLsAPI URL

FileWave hassupports 2two APIsURL patterns for the inventory API examples below.

History

API URL patterns

For inventory purposes, FileWave has a Command Line API, designed to interact with Inventory Queries.  This API has existed for years and can work on either port 20443 or port 20445.

Since the introduction of the FileWave web admin, 'FileWave Anywhere', a new API was created.  FileWave Anywhere interacts with the FileWave Server using this new API.  Unless configured otherwise, FileWave Anywhere works over port 443.

The WebFileWave APIAnywhere hasroute itsadds own/api paths,before when/inv/api. comparedThe withexamples below create the Command Line version (note the extra /api at the beginning of the path. Below is an example, which creates a newsame Inventory Query,Query usingthrough botheach APIs.base URL.

TCP port 443 (default port if not specified in URL). Notice that it begins with /api/inv/api/

curl -s -H "Authorization: e2M2sssYjIwLTxxx1hMzdiLTFmyyyGIwYTdjOH0=" https://myserver.filewave.net/api/inv/api/v1/query/ \ 
    --header "Content-Type: application/json" -X POST -d @ios16_incompatible.json

TCP port 20445 (could also use port 20443). Notice that it begins /inv/api/

curl -s -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 inThe FileWave Anywhere mayAPI alsocovers bea programmed.broader Asset such,of functions than the scopeinventory-focused ofcommand-line theAPI. WebScripts APIand isintegrations broadershould inuse thedocumented mainpublic thanendpoints only.

Avoid paths that ofcontain theinternal. CommandThey Lineare version.

private

Theimplementation Web API has both publicdetails and private URLs.  Private URLs can be changed,change between FileWave versions, at any timereleases without warningcompatibility ornotice. notification and as such should be avoided in scripts and other systems interacting with FileWave.  They are easily recognisable byUse the wordpublic 'internal'endpoints indocumented theirfor URLyour paths,FileWave as per below:version.

https://${server_dns}/filewave/api/devices/internal/devices/${filewave_id}/details/custom_fields/fields