For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Book a demoLog inStart for free
  • Overview
    • Introduction
    • How it works
    • Quickstart
    • Customer showcase
  • Working with SDKs
    • Project structure
    • Adding custom code
    • Migrating to Replay
    • Capabilities
  • Generators
      • Generating an SDK
      • Publishing to npm
      • Configuration
      • Adding custom code
      • Dynamic authentication
      • Enabling the serde layer
      • Changelog
      • Customer showcase
  • Reference
    • generators.yml
Checking status...
SOC2Soc 2 Type II
© 2026 Fern • Birch Solutions, Inc., a Postman company

Documentation

SDKsDocsAsk FernCLI Reference

API Definitions

OpenAPIAsyncAPIOpenRPCgRPC

Resources

BlogSupportPricing

Company

Brand KitPrivacy PolicyTerms of Service
LogoLogo
Book a demoLog inStart for free
On this page
  • When to enable the serde layer
  • Additional configuration options
GeneratorsTypeScript

TypeScript serde layer

||View as Markdown|
Was this page helpful?
Edit this page
Previous

Dynamic authentication

Next

Changelog

Fern’s TypeScript SDK generator includes an optional serde layer that determines whether the generated SDK matches your original API naming conventions (snake_case vs. camelCase, case-sensitive fields) or follows TypeScript conventions. This serde layer is controlled by the noSerdeLayer option.

By default, the serde layer is disabled (noSerdeLayer: true), meaning field names are preserved exactly as they appear in your API specification.

When to enable the serde layer

generators.yml
1groups:
2 ts-sdk:
3 generators:
4 - name: fernapi/fern-typescript-sdk
5 version: 3.69.0
6 config:
7 noSerdeLayer: false # Enable serde layer

When you turn on the serde layer, (noSerdeLayer: false), the TypeScript SDK generator includes custom serialization code that:

  • Transforms all property names from your API to camelCase
  • Validates requests and responses at runtime
  • Supports complex types like Date and Set.

Enable the serde layer when you want idiomatic TypeScript conventions and don’t have case-sensitive field conflicts. Keep it disabled when your API has fields that differ only by casing or when you need exact field name preservation.

Additional configuration options

Several configuration options work alongside an enabled serde layer:

  • skipResponseValidation disables the serde layer’s runtime validation while keeping its transformation features
  • allowExtraFields permits properties not defined in your schema.
  • useBigInt enables custom JSON handling to preserve large number precision.

These options only take effect when the serde layer is enabled (noSerdeLayer: false), as they require the custom serialization infrastructure.

generators.yml
1groups:
2 ts-sdk:
3 generators:
4 - name: fernapi/fern-typescript-sdk
5 version: 3.69.0
6 config:
7 noSerdeLayer: false # Enable serde layer
8 skipResponseValidation: true # Disable runtime validation errors
9 allowExtraFields: true # Allow undefined fields in responses
10 useBigInt: true # Preserve precision for large numbers

For the complete list of all TypeScript configuration options, go to TypeScript configuration.