Skip to main content

Why Speakeasy?

Building an API that is functional is not enough. You need an API that is usable. That means making sure that user inegration is easy, and troubleshooting is self service.

The best API companies support their product with enormous API platform teams that maintain suites of tools. That's not realistic for most companies.

We built Speakeasy to be the API platform team for every company. We provide extensible infrastructure that gives you the a best-in-class API Developer Experience at a fraction of the cost of building it yourself.

How does Speakeasy work?

Speakeasy consists of a few core components:

  • A idiomatic SDK generator which consumes OpenAPI specs to create SDKs in a variety of languages and runtimes.
  • A developer experience platform that provides your customers with self service dashboards for api keys, logs, usage metrics, notifications and more.

Serverside SDKs

The SDK provides a lightweight middleware that easily integrates into your services and sits in the request call chain. All Speakeasy serverside SDKs are open source and available on Github. They're built as best effort asynchronous middleware. that will not degrade the performance of your service. Here is an example of what integration looks like for Golang, it's just a few lines. For other languages check out the Server-Side SDK reference.

import "github.com/speakeasy-api/speakeasy-go-sdk"

func main() {
speakeasy.Configure(speakeasy.Configuration{
APIKey: "YOUR API KEY HERE", // retrieve from future Speakeasy dev dashboard
}

// rest of your program.
}

Speakeasy Platform

The Speakeasy platform is a lightweight data platform for your API request and response data. It is a containerised service designed to capture API service calls from our serverside SDK at high throughput. It also

  • writes these logs into a SQL speaking warehouse
  • run queries to serve usage metrics and logs into the Developer Experience Portal
  • powers an internal dashboard for you own dev team to administer the customer experience
  • integrates with your API gateway to externalise API keys

overview

Speakeasy Developer Experience Portal

End user facing portal that Speakeasy powers on behalf of our customers

Speakeasy Platform

Joint name for Speakeasy data platform and Dashboard. The Speakeasy Platform is available as Speakeasy Cloud (hosted by Speakeasy i.e. available as a SaaS) or as Speakeasy Self-hosted (by customers in their own cloud environments)

Speakeasy (Server-side) SDK

A drop in language (and sometimes framework) specific code integration that allows Speakeasy to power dev portal features (request logs, api keys etc.)

Speakeasy Client SDK

Client SDKs that we auto-generate from OpenAPI specifications.

Api

A single API resource managed in Speakeasy. Colloquially known as “top level resource” per standard REST definitions. Eg: “/v1/transactions/… would be the prefix of any path supported by the “Transactions” API

Api Endpoint

A single operation supported for an Api . Often this is a combination of an endpoint under the top level resource and a verb (GET, PUT, POST, DELETE, PATCH)

Schema

An OpenAPI schema for an Api and its Api Endpoints. In YAML or JSON format. Currently Speakeasy only supports REST APIs.

Revision

When a new schema is uploaded for an Api we create a new revision. This is independent of whether a new version is needed. A new Revision can have new Api Endpoints for the same version.

Version

Currently only a semantic concept that marks when a version of the schema for an Api changes. In the future we may infer this automatically or take a more opinionated approach

User

One of users of the Speakeasy Platform (eg: Developer at one of our Customer's). A User is part of workspace

Workspace

Speakeasy’s organisational grouping for managing User access. A Customer can have more than one Workspace and Workspace can have many users. A User may also be part of more than one Workspace.

Customer (API Producer):

One of Speakeasy’s Customers. A Customer can have more than one Workspace

End user (API Consumer)

There are many Customer’s Customers in 1 Workspace. NB: This doesn’t necessarily map to Users: there could be 1 person, or many, that have access to embeds for each Customer’s Customer.

Shared view

Users can create a temporary “Shared View” (accessible via a pre-signed URL) within the Speakeasy Platform. The shared view is a particular cut of any dev portal component (eg: Request logs), that enables anyone with the URL to view it.

Speakeasy Api Keys

API keys used by our customers to operationalise the Speakeasy server side SDK

Embed tokens

Short-lived tokens that authorise data access by Speakeasy Embeds

End User API Keys:

Long lived API keys created and rotated by end users in the developer experience portal (our customer’s customers)