Our design philosophy
SDKs are a critical interface for an API, which is why we put a lot of thought into developer experience. Our philosophy is that SDKs should be:
- Type safe: The SDKs we generate are fully typed, ensuring customers can catch errors early and often.
- Human readable: The SDKs we generate are easy for developers to read and debug in the customer’s IDE. We avoid convoluted abstractions.
- Batteries-included: The SDKs we generate include everything from telemetry and retries to pagination.
- Fault tolerant: Our generator is easy to use and outputs usable SDKs wherever possible. If we can’t output a working SDK, we will validate your OpenAPI document and alert you to any problems.
- Capable of going beyond OpenAPI: Our generator covers the OpenAPI Specification and can extend where OpenAPI falls short.
- Lean: Our SDKs are meant to be powerful but lean, with minimal dependencies. We start with native language libraries and layer on third-party libraries only when the customer benefits far outweigh the cost of the extra dependency. We avoid adding unnecessary dependencies.
Please see the table below for language-specific details.
Supported generation languages
TypeScript
Fetch-based async client with Zod typing
Python
Sync & async client with Pydantic models
Go
Type-safe, idiomatic Go client
Java
Type-safe, builder-based Java client
C#
Type-safe, .NET-based C# client
PHP [beta]
Type-safe, Laravel-integrated client
Unity [beta]
Unity-integrated C# client
Ruby [alpha]
A type-safe Ruby client
Swift [alpha]
A dependency-free Swift client