How we added a public API to our existing SaaS app
Two weeks ago we released the public API for Checkly. This post is about what parts we needed to refactor, what parts we added and how we handled generating API documentation.
The latest News and Information on API Development, Management, Monitoring, and related technologies.
Two weeks ago we released the public API for Checkly. This post is about what parts we needed to refactor, what parts we added and how we handled generating API documentation.
This is a short follow up to last week's story on Stripe Billing as a reader on Hackernews commented that it seemed we didn't handle VAT. We do, but I just left it out of the story. For those not familiar with handling EU VAT for SaaS companies: It's a bit of counter intuitive jungle. At least that's what some dedicated SaaS startups make you believe. Also, Stripe does not handle it at all. They give you a { taxRate: null } field for you to fill.
When I started Checkly, all the typical SaaS things around billing, credit cards and prorating confused the hell out of me. I understood them from an intellectual point of view, but not really from an implementation point of view.
If you run a SaaS, you probably want to show your users when they are almost running out of widgets. Or that they can get some cool feature on a more expensive plan. Or, in other words, how can you be nice and commercial in dealing with plan limits. Last week we already looked at how we manage plans & features for Checkly. That write up was very back end focused, so this week I wanted to dive deeper into how we actually show this to our users in a friendly way.
How do you deal with what a user can do on their account in a SaaS app? Can Jane on the "Starter" plan create another widget when she is near the limit of her plan? What if she's a trial user?
This is a run down on the basic multi-tenant SaaS data model underlying Checkly. Users, accounts, plans, that type of stuff. When building this, I found it surprisingly hard to find any solid info in the gazillions of developer and startup blogs; most where just to vague on the implementation details.
We have just released version 1.25, which exposes several APIs for all PushMon users who wish to develop their own clients on top of our Software-as-a-Service Platform.
In today’s interconnected world, API monitoring is vital. Businesses rely on data in everyday operations, and often rely on Web APIs to send and access data. But if an API is down, slow or not behaving as expected, it can severely impact business operations. Whether you’re an API provider or rely on third-party APIs, continually monitoring your API environment lets you know when there’s a problem.
So, when someone talks to you about APIs, do you still think it refers to Blas’ inseparable partner in Sesame Street? then you may have a little problem with technology. No one will ever mess with you again for this. But you must be careful. The explanation will be as educational and entertaining as those of the mythical Epi and Blas. Therefore, let’s answer this question: What is an api for?
In a separate article, we introduced the concept of performing synthetic transactions with LogicMonitor to ensure website services are up and running correctly. It may be necessary to authenticate with a website before you can fully monitor it, and authentication may require presenting an MFA code that has been delivered via email. Let’s take this a step further and incorporate an MFA (Multifactor Authentication) Challenge.