Forward compatibility and fault tolerance in TypeScript API Clients/SDKs
13 days ago
- #API
- #SDK
- #TypeScript
- SDKs can return errors despite 200 server responses due to API evolution and inaccurate OpenAPI specs.
- Server-side solutions include versioning clients, server validation layers, and contract testing.
- Client-side solutions in Speakeasy SDKs include forward-compatible enums and unions, lax mode, and smart union deserialization.
- Forward-compatible enums allow SDKs to accept unknown values without breaking.
- Lax mode fills in sensible defaults for missing required fields and handles type mismatches.
- Smart union deserialization uses a populated-fields strategy to correctly identify union types.
- These features ensure SDKs remain functional and type-safe as APIs evolve.