Background image
Featured blog post image

UI Enhancements & deepObject Query Support for Terraform

We've made UI improvements across the platform and added support for deepObject query parameters in Terraform.

๐Ÿ“ Speakeasy Studio: Navigate OpenAPI Specs with Ease

Speakeasy Studio now provides a structured, interactive outline for OpenAPI specs and SDK README files, significantly improving the navigation and editing experience.

๐Ÿ“Œ API Registry: Smarter Tracking, Seamless Organization

Weโ€™ve redesigned the API Registry to make it even more powerful: from tracking changes at-a-glance, to sharing any API revision with a click.

๐Ÿ—๏ธ DeepObject Query Parameter Support for Terraform Providers
Terraform provider generation now supports style: deepObject. This improves usability and reduces complexity for consumers by allowing them to define structured attributes in Terraform configurations, instead of needing to manually construct key-value query strings.


๐Ÿ“ Speakeasy Studio: Navigate OpenAPI Specs with Ease

OpenAPI specs are powerful but often overwhelmingโ€”long, complex, and difficult to navigate. Finding key details like authentication methods, endpoints, or dependencies can be time-consuming and frustrating.

Whatโ€™s New?

Speakeasy Studio now provides a structured, interactive outline for OpenAPI specs and SDK README files, making it effortless to:
โœ… Jump to key sections like servers, security settings, and endpoints.
โœ… Quickly locate dependencies without endless scrolling.
โœ… Improve accuracy by reducing the risk of missing critical spec details.

This update eliminates the pain of manually searching through massive API definitions. Everything you need is now neatly organized and just a click away.


๐Ÿ“Œ API Registry: Smarter Tracking, Seamless Organization

The API Registry page is the central hub for tracking OpenAPI document revisions, SDK dependencies, and API historyโ€”all in one place.

Whatโ€™s New?

Weโ€™ve redesigned the API Registry to make it even more powerful:
โœ… Improved artifact grouping for better organization and clarity.
โœ… More structured spec representation, making it easier to track changes at a glance.
โœ… One-click API sharing, allowing any revision to be turned into a public URL instantly.
โœ… Namespace archiving, helping teams manage deprecated or inactive APIs effortlessly.

Whether youโ€™re maintaining API history, sharing specs, or tracking dependencies, the new API Registry page makes API management more intuitive and efficient.


๐Ÿ—๏ธ DeepObject Query Parameter Support for Terraform Providers

Some APIs accept structured objects as query parameters. For example, an API might support filtering on multiple fields (status and type):

GET /users?filter[status]=active&filter[type]=premium

Before DeepObject Support

Without deepObject support, consumers of a Terraform provider for this API would need to construct query strings manually. This means defining query parameters as flat key-value pairs or concatenating them into a string:

data "example_resource" "query" {
query = "filter[status]=active&filter[type]=premium"
}

This approach is unintuitive, error prone, and hard to maintain.

With DeepObject Support

Now, Speakeasy supports style: deepObject in OpenAPI specifications. For example:

paths:
/users:
get:
parameters:
- name: filter
in: query
style: deepObject
explode: true
schema:
type: object
properties:
status:
type: string
type:
type: string

With deepObject support, Terraform provider consumers can now define query parameters as structured attributes โ€” eliminating the need to construct manual query strings:

data "example_resource" "query" {
parameters = {
status = "active"
type = "premium"
}
}

Key Benefits

This has a significant impact on consumer ergonomics: โœ… Eliminates manual query string construction
โœ… Supports complex filtering and nested input
โœ… Ensures Terraform provider behavior matches API expectations


๐Ÿ› ๏ธ New Features and Bug Fixes ๐Ÿ›

Info Icon

NOTE

ย  Based on the most recent CLI version: Speakeasy v2.493.8 (opens in a new tab)

Platform

  • ๐Ÿ› Fix: Prevented compilation errors caused by special characters in operationId.
  • ๐Ÿ› Fix: Fixed handling of null values in maps and arrays for better representation.

PHP

  • ๐Ÿ Feat: Added support for deepObject query parameters.
  • ๐Ÿ› Fix: Improved query and path parameter handling.

Go

  • ๐Ÿ› Fix: Resolved issues with circular references in Go usage snippets.
  • ๐Ÿ› Fix: Prevented Go panics related to const query parameters.

TypeScript

  • ๐Ÿ› Fix: Reordered standalone function code for better readability.
  • ๐Ÿ Feat: Introduced APIPromise, a custom thenable type that exposes $inspect() for SDK functions.

Terraform

  • ๐Ÿ Feat: Improved float/int32 number format handling.
  • ๐Ÿ Feat: Enabled custom HTTP headers via provider configuration.
  • ๐Ÿ› Fix: Added support for nullable array types in Terraform SDKs.

Java

  • ๐Ÿ Feat: Removed Apache httpclient as a dependency, reducing SDK size and improving maintainability.