When your product relies on APIs (external or internal), it is critical that you monitor those APIs in order to know when something goes awry that affects your customer’s perception of your product’s current status. There are many ways an API can be down and or adversely affect your product. An external API may simply […]
Continue readingTest Validation
Using Javascript to Extract Information from SOAP API Responses
My last post described how to create a monitor that calls Flickr’s Interestingness SOAP API to retrieve a list of recently uploaded photos that Flickr users have found interesting. Once the list of interesting photos is retrieved, we might want to call other Flickr API endpoints to retrieve more detailed information about the individual photos. […]
Continue readingMonitoring Flickr’s Interestingness SOAP API
The API Science platform provides capability for monitoring APIs that utilize SOAP (Simple Object Access Protocol) interfaces. The photo sharing site Flickr offers a substantive API that can be accessed using multiple protocols, including SOAP. In this article series I’ll use the Flickr API to illustrate techniques that can be applied for monitoring the status and performance of SOAP-based APIs. Flickr invented a metric they call interestingness, which ranks posted photos based on statistics including clickthroughs, comments, favorites, tags…
Continue reading7 Ways to Customize API Monitoring Using Global and Local Variables
It is possible to configure API monitors with rigidly fixed parameters. However, using the API Science platform, it is also possible to configure API monitors using both account-wide global variables and monitor-specific local variables, in order to provide your team with a deeper view into what your customers are experiencing. Introduction to API Science’s Global […]
Continue readingUsing Tags to Group API Monitors
Many online products require gathering information from many different data sources. If your product queries multiple APIs (external or internal), then it is vital for your team to monitor those APIs in order to assess whether your product appears up, partially up, or down. My last two posts described how you can use the API […]
Continue readingValidating API Responses and Performance Using JavaScript
Determining the present state of an API that’s critical to your product’s performance is the reason why companies apply API monitoring on a 24/7 basis. If your product depends on a sequence of calls to multiple APIs (perhaps internal as well as external), your product could appear “down” to your customers if even one of […]
Continue readingUsing Regular Expressions and JavaScript to Validate API Responses
Regular expressions (RegEx) are “a sequence of characters that define a search pattern, mainly for use in pattern matching with strings, or string matching.” Amazingly, the RegEx concept was invented back in the 1950s, by U.S. mathematician Stephen Cole Kleene, who was a student of Alan Turing, among others. In his book Mastering Regular Expressions, […]
Continue readingUsing JavaScript to Validate API Response Bodies
In prior posts, I’ve illustrated how API Science’s JavaScript validations capability can be used to validate API response timing versus data size, API HTTP response headers, and HTTP response status codes. What hasn’t yet been investigated is how you can use the API Science JavaScript validation facility to validate the API response body. We’ll use […]
Continue readingUsing JavaScript to Validate HTTP Response Codes in API Responses
In addition to using JavaScript to validate HTTP headers received by your API Science monitors, JavaScript can be applied for fine-grained validation of the HTTP Status Code for each API response. The status code normally associated with a successful response is 200 (“OK”). However, all 2xx status codes indicate that from the server’s point of […]
Continue readingUsing JavaScript to Validate HTTP Headers in API Responses
In my last post, I applied JavaScript to create a timing versus data size validation for my XKCD API monitor: var timing = context.response.timing.total; var size = context.response.meta.downloadSize; if (timing > 5000) { assert(size > 10000, “Download size vs speed issue”); } The validation checks how long it took to complete the API check. If […]
Continue reading