Customized API Monitoring Using Parameters

Monitoring the performance and uptime of the internal and external APIs that your product depends on is critical if you are to maintain customer satisfaction. However, there is a difference between the performance and uptime of a generic call to an API, and a call that requests a specific subset of information. A request for a subset of information is likely to require a more complex database operation from the server that responds to your user’s API requests. This is just one reason why it may be beneficial for you to monitor an API’s response to lower level, more specific requests. You need to know if your users’ requests for low-level information is experiencing poor performance.

API parameters are one of the means by which you can access APIs to obtain specific subsets of the information the API offers. For example, the World Bank API supports income level queries, wherein you can request the information for countries the World Bank categorizes into the following income levels (parameter “incomelevel”):

  • High Income (id=”HIC”)
  • Heavily indebted poor countries (id=”HPC”)
  • Low income (id=”LIC”)
  • Lower middle income (id=”LMC”)
  • Low and middle income (id=”LMY”)
  • Middle income (id=”MIC”)
  • High income: non-OECD (id=”NOC”)
  • High income: OECD (id=”OECD”)
  • Upper middle income (id=”UMC”)

So, let’s assume your product involves the World Bank data for “Lower middle income” nations. It’s good to know if the World Bank API is up and how it’s performing, but it’s also important for you to know the performance of the World Bank API when you request the information for lower middle income nations.

Let’s create a new monitor that does this. Clicking “Add Monitor” from your API Science Dashboard brings up the new monitor screen:

parameters_new_monitor

If we want the Countries API information exclusively for lower middle income nations, we click “Show settings,” which provides the option to specify the API parameters for our new monitor:

WorldBank-countries-LMC

Here, I’ve selected to monitor the World Bank Countries API, but I’ve also specified that I want the information solely for the nations the World Bank classifies as being the in the “LMC” (lower middle income) level.

Clicking “Test Now” verifies that this monitor works:

income-level-monitor-test

Beneath this summary information, the page shows the response text returned by the test run (only a snippet of the full response is shown):

income-level-response-xml

The test worked, so we now click “Save Monitor” at the top of the page to get the new monitor running in live mode, automatically aggregating World Bank API uptime and performance data for these specific parameter settings.

Conclusion

We’ve created a new API Science monitor that sets a parameter recognized by the World Bank Countries API. The monitor, in its current state, requests the World Bank information for nations classed as having lower middle income.

But the World Bank’s APIs offer many other parameters that will let you customize the information you receive from their data sets. Likewise, API Science’s advanced API monitoring settings enable you to customize your API monitoring down to detailed levels that reflect what your own customers experience. I’ll explore this further in my next post.

–Kevin Farnham