Skip to main content

Introduction

When it comes to API development, there’s a gap between what’s reasonable and what’s feasible.

It’s reasonable to want a DRY approach to API development. Every software engineer knows that drift is inevitable with multiple sources of truth. This is why API docs are constantly out of date or why SDKs are missing the latest features.

It’s reasonable to want great SDKs for your API, even in languages you don’t happen to be familiar with.

And it’s reasonable to want examples of how to use those SDKs in your API docs.

Despite feeling like reasonable asks, completing them is hardly feasible. Unless you can invest in an engineering team to build great internal tooling for your APIs—like Stripe and Palantir have—there are no good options. The closest thing to a single source of truth is OpenAPI, which is far from ideal.

Fern allows you to maintain a single source of truth for your API so that you can:

  1. Generate idiomatic SDKs in the most popular languages: TypeScript/JavaScript, Python, Java, Go. Fern also handles publishing to registries.
  2. Serve your API accurately. Fern integrates with popular frameworks like Express, FastAPI, and Spring to add compile-time and run-time checks.
  3. Auto-update your API documentation, Postman collection, and OpenAPI description any time your API changes.

We’re in private beta with a handful of customers. If you’re interested in using Fern, reach out.