

UI Enhancements & deepObject Query Support for Terraform
We've made UI improvements across the platform and added support for deepObject query parameters in Terraform.
π§βπ¨ UI Enhancements
The API Registry and Speakeasy Studio have been refined for better organization and usability, making it easier to track OpenAPI document revisions, navigate SDK structures, and manage OpenAPI specifications.
ποΈ DeepObject Query Parameter Support for Terraform
Terraform generation now includes basic support for style: deepObject
query parameters, allowing for structured API queries with greater flexibility.
π§βπ¨ UI Enhancements
API Registry redesign
The API Registry page has been updated with improved artifact grouping and a more structured spec representation, making it easier to:
- Track OpenAPI document revisions, SDK dependencies, and API history at a glance.
- Share API specs by turning any revision into a public URL.
- Manage deprecated or inactive APIs with namespace archiving.
Improved README & OpenAPI spec experience
Speakeasy Studio now provides a more structured and accessible outline for SDK README files and OpenAPI spec, improving discoverability and management. You can now jump between key sections like servers, security settings, and paths with ease.
ποΈ deepObject Query Parameter Support for Terraform
Terraform generation will now begin including parameters with style: deepObject
as configurable attributes in (typically data) resources.
This initial support should be considered basic, as union types (such as those in Kongβs API definitions) are currently overly verbose when translated into Terraform attributesβeach union Go type appears as an additional attribute nesting layer.
How it works in Terraform
Structured filters like this:
?filter[status]=active&filter[type]=premium
Can now be represented in Terraform like this:
data "example_resource" "query" {filter = {status = "active"type = "premium"}}
Why this matters
- Improves Terraform compatibility with modern API designs.
- Eliminates manual workarounds for structured query parameters.
- Lays the groundwork for future enhancements, including better support for union types.
π οΈ New Features and Bug Fixes π
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.