Home / Companies / Speakeasy / Blog / October 2025

October 2025 Summaries

5 posts from Speakeasy

Filter
Month: Year:
Post Summaries Back to Blog
The comparison between Speakeasy OpenAPI Editor, Swagger Editor, and Postman highlights their strengths and weaknesses in API specification management, emphasizing their editing experience, validation capabilities, workflow integration, and fit within broader API toolchains. While all three editors offer a familiar interface and real-time validation, Speakeasy stands out with its comprehensive validation system, including errors, warnings, and hints, and robust Git-based version control with automatic commit history. It excels in CI/CD integration, allowing seamless synchronization of API documents with downstream processes. Swagger Editor, while offering a detailed error message system and live preview capabilities, lacks the nuanced validation hints and integrated version control found in Speakeasy. Postman, although providing autocomplete functionality and a developer-oriented preview, lacks built-in versioning and CI/CD capabilities. Speakeasy also leads in handling custom extensions and SDK generation, offering full validation and support for x- properties, while Swagger Editor and Postman accept these extensions without providing special handling. The choice of tool depends largely on specific team workflows and priorities, with Speakeasy offering superior validation and integration features, Swagger Editor providing an adequate UI preview, and Postman serving as a simpler, free option.
Oct 27, 2025 1,607 words in the original blog post.
Speakeasy-generated TypeScript SDKs list Zod as a regular dependency instead of a peer dependency to enhance runtime validation, ensure compatibility, and simplify installation processes, thus maintaining type safety between API responses and TypeScript types. This decision allows the SDKs to operate independently of the project's existing Zod version, providing both backward and forward compatibility, and avoiding potential runtime errors associated with peer dependencies. The approach prevents issues that arise from version conflicts, as different packages can use different Zod versions without interfering with each other, thanks to modern package managers' ability to deduplicate dependencies. This setup ensures that the SDKs remain functional even when projects use incompatible Zod versions, allowing for seamless integration and reliable performance across diverse project configurations.
Oct 23, 2025 669 words in the original blog post.
This guide provides a comprehensive tutorial on creating a Terraform provider to manage a web service's API, specifically showcasing the integration with PokéAPI. It addresses challenges faced by beginners when following HashiCorp's official tutorials, which can be complex and lengthy. The tutorial simplifies the process by walking users through the setup of a simple provider using tools like Terraform, Go, and Speakeasy CLI, while demonstrating how to implement CRUD operations against the API. It includes practical steps such as cloning an example project, generating a Go SDK, and building the provider files to connect Terraform with PokéAPI, enabling users to manage Pokémon data through Terraform's declarative configuration files. The guide emphasizes the importance of efficient data mapping and provides tips for debugging, testing, and enhancing the provider for production use. Additionally, it highlights the potential of using Speakeasy's automated service to reduce workload by generating a complete Terraform provider from an OpenAPI document.
Oct 10, 2025 5,232 words in the original blog post.
SDKs have undergone significant improvements to enhance support for Server-Sent Events (SSE), which facilitate real-time data streaming to clients over a single HTTP connection, a crucial feature for AI and LLM services. These enhancements focus on eliminating boilerplate code and improving type safety, particularly for TypeScript, Python, Java, and C# SDKs. TypeScript and Python SDKs now automatically generate type-safe overloads for operations that handle both streaming and non-streaming responses, addressing previous issues with union types and manual type guards. Additionally, new SSE response flattening in these languages simplifies access by abstracting unnecessary metadata, allowing developers to access response content directly. C# SDKs now fully support SSE, enabling streaming capabilities for .NET applications, while Java SDKs can utilize for-each iteration for more straightforward processing of SSE streams, thereby eliminating the need for manual iterator handling and streamlining the code.
Oct 01, 2025 748 words in the original blog post.
Python SDK generation now supports a constructor-based approach to handle synchronous and asynchronous operations, providing a cleaner interface by eliminating method name duplication and confusion, which was caused by the previous method-based system with _async suffixes. This new approach differentiates between synchronous and asynchronous clients through separate constructors, making async usage an explicit choice and improving IDE suggestions by avoiding duplicate method names. Users configure this behavior in the `gen.yaml` file, with the `asyncMode` setting offering a 'split' value to enable the constructor-based approach, although this represents a breaking change for existing SDK users who will need to update their code. The change aligns with Python’s async ecosystem, which uses an event loop for non-blocking I/O operations, and matches patterns used in established Python libraries, offering a more intuitive interface for developers familiar with async conventions.
Oct 01, 2025 436 words in the original blog post.