Skip to content

SmartAPI Uptime Monitoring

Marco Cano edited this page May 13, 2022 · 3 revisions

Uptime Monitoring

SmartAPI routinely checks all registered OpenAPI V3 API metadata and checks that all endpoints specified are working as expected. Based on this check an Uptime status will be assigned (pass, unknown, fail). Swagger V2 metadata will be skipped and not tested and be assigned an Uptime status of incompatible.

What happens during the uptime check?

Each compatible document in our registry will be loaded into a monitoring module that will test all method endpoints we are interested in.

Default status upon start: Screen Shot 2022-04-27 at 11 14 26 AM

At the end of the checks the final status is decided based on the collective results. While pass and fail statuses are more straight forward, unknown statuses can indicate a variety of issues. We try to give you some feedback in such case.

What endpoints are tested?

Only endpoints that use GET or POST methods are tested.

Are endpoint examples required?

Only if you specify them as such. We can test a multiple combination of specifications, as long as you provide the appropriate requirements.

  • For GET endpoints they may or may not need parameters
  • For POST endpoints they may or may not need parameters/request body.

Can I modify my specification in order to skip a specific endpoint?

In some instances there may be an endpoint that requires a parameter that is dynamically generated (eg. async IDs) or you are unable to provide for some reason. For this kind of instances you can mark the parameter or body as required and NOT provide it. This particular scenario is skipped and it will not interfere with the overall score as long as other endpoints pass.

What if my endpoint works but takes a long time to respond?

We have a timeout setting of 30s, if you believe that this will be an issue you can consider finding a faster example or follow our instructions to trigger a skip action as detailed above.

What statuses can you expect from an OpenAPI V3 registered item?

  • Screen Shot 2022-04-27 at 11 14 26 AM If any endpoint required a body or parameters and they were not included as examples, or providing an untestable endpoint eg. specified but not implemented.
  • Screen Shot 2022-04-27 at 11 15 44 AM One or more endpoints respond with a status code other than 200.
  • Screen Shot 2022-04-27 at 11 14 20 AM Endpoints respond with success status codes of 200.

How is the overall status calculated?

🟒 = OK , 🟠 = Skipped/Issue , πŸ”΄ = Failed

  • Screen Shot 2022-04-27 at 11 14 26 AM [🟠 ,🟠 , 🟠, 🟠, 🟠] If no OK's and all skipped or issues present.
  • Screen Shot 2022-04-27 at 11 15 44 AM [🟒 ,🟒 ,πŸ”΄, 🟠, 🟠, 🟠] If any failed endpoints.
  • Screen Shot 2022-04-27 at 11 14 20 AM [🟒 ,🟒 , 🟠, 🟠, 🟠] No failing endpoints and at least one OK.

What statuses can you expect from a Swagger V2 registered item?

  • Screen Shot 2022-05-03 at 12 47 05 PM This item simply will not be tested. You can upgrade your metadata following this guide.

Is there any way to find out what went wrong for a status other than PASS?

Clicking on the badge itself will display a description of what each status means in addition to a message indicating what endpoint failed and the error type when possible. Due to the wide variety of possibilities it's possible some issues cannot be captured to give back to the user. If you experience something like this please let us know.


Example of issue hint: Screen Shot 2022-05-12 at 6 53 16 AM


How often are these checks performed?

SmartAPI will automatically check uptime daily.

Can I refresh my status manually after updating my metadata?

Log in and navigate to your dashboard, click on the purple button to trigger a check, your uptime status will be reassigned. It's important to wait while this check happens, depending on the number of endpoints this may take longer. Your report will be presented to you when it's done. Screen Shot 2022-04-27 at 12 26 52 PM