Skip to content
Status

CLI

OpenAPI Support Matrix

The tables below provide an overview of the OpenAPI features supported by Speakeasy.

Name
ServerURL config
Notes
Global and per-method (include base URL and templating)
Support
✅
Authentication and security
Notes
Global and per-method
Support
✅
Swagger link
Method generation
Notes
Support
✅
Swagger link
Model generation
Notes
Request and response
Support
✅
Swagger link
Name
Default
Notes
(style = simple, explode = false)
Support
✅
Basic types
Notes
Support
✅
Swagger link
Simple objects
Notes
Support
✅
Swagger link
label
Notes
Support
❌
Swagger link
matrix
Notes
Support
❌
Swagger link
Name
json
Notes
Support
✅
Swagger link
form
Notes
Support
✅
Swagger link
spaceDelimited
Notes
Support
✅
Swagger link
pipeDelimited
Notes
Support
✅
Swagger link
deepObject
Notes
Support
✅
Swagger link
Basic types
Notes
Support
✅
Swagger link
Simple objects
Notes
Support
✅
Swagger link
Name
Simple (explode = true)
Notes
Support
✅
Swagger link
Simple (explode = false)
Notes
Support
✅
Swagger link
Name
Multipart encoding
Notes
Support
✅
Swagger link
Binary
Notes
Support
✅
Swagger link
Form data
Notes
Support
✅
Swagger link
JSON
Notes
Both application/json and text/json
Support
✅
Swagger link
x-www-form-urlencoded
Notes
Including encoding, but not non-object types
Support
⚠️
Plain text
Notes
Support
✅
Swagger link
Raw byte
Notes
Support
✅
Swagger link
Handling required body
Notes
Support
✅
Swagger link
XML
Notes
Support
❌
Swagger link
Other media types
Notes
Support
❌
Swagger link
Name
Return StatusCode and Content-Type
Notes
Support
✅
Swagger link
JSON
Notes
Support
✅
Swagger link
Plain text
Notes
Support
✅
Swagger link
Raw byte
Notes
Support
✅
Swagger link
JSON
Notes
Support
✅
Swagger link
Other media types
Notes
Support
❌
Swagger link
Name
Basic types
Notes
Support
✅
Enums
Notes
Support
✅
Swagger link
Number formats
Notes
float, double, int32, int64
Support
✅
Swagger link
Date-time
Notes
Support
✅
Swagger link
Binary
Notes
Support
✅
Swagger link
Arrays
Notes
Support
✅
Swagger link
Objects
Notes
Support
✅
Swagger link
Optional
Notes
Support
✅
Swagger link
Maps
Notes
Support
✅
Swagger link
Any type
Notes
Support
✅
Swagger link
OneOf, AnyOf, and AllOf
Notes
Support
⚠️ See union type support below
Name
oneOf
Notes
For languages that don't yet have native union type support in Speakeasy, oneOf will be treated as an any type.
Language support
✅ TypeScript, Python, Go, C#, Java, PHP
allOf
Notes
To avoid construction of illogical types, Speakeasy currently constructs an object using the superset of fields from the listed schemas. In cases where the base schemas have a field name collision, Speakeasy will default to using the field from the object deepest in the list.
Language support
✅ All languages
anyOf
Notes
anyOf is treated as oneOf to avoid the bloat of combinatorial data type creation.
Language support
✅ TypeScript, Python, Go
Name
Auxiliary files*
Notes
Support
✅
Swagger link
x-speakeasy-server-id generation
Notes
Support
✅
Swagger link
Snippet generation
Notes
Support
✅
Swagger link
README generation
Notes
Support
✅
Swagger link
Documentation generation
Notes
Support
✅
Swagger link

* Files needed for creating a fully compilable package that can be published to the relevant package manager without further changes.