Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions fern/products/sdks/generators/typescript/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,20 @@ See [TypeScript serde layer](/learn/sdks/generators/typescript/serde-layer) for
Overrides the API-wide [`api.settings.auto-generate-idempotency-key`](/learn/sdks/reference/generators-yml#settings) for this SDK. Set `true` to attach an [idempotency-key header](/learn/sdks/deep-dives/idempotency#auto-generate-idempotency-keys) to eligible requests (`POST` and `PUT` by default) unless the caller provides one, or `false` to opt this SDK out when auto-generation is enabled API-wide. Pass an object to customize `header-name` and `methods`.
</ParamField>

<ParamField path="deepObjectMapQueryParameters" type="boolean" default="false" toc={true}>
When enabled, map-typed query parameters (an OpenAPI `type: object` schema with `additionalProperties`) are encoded in OpenAPI `deepObject` style, with one key per map entry, instead of being JSON-stringified into a single value. Enable this when the server declares the parameter with `style: deepObject`.

```text
# deepObjectMapQueryParameters: false
?metadata=%7B%22env%22%3A%22prod%22%7D

# deepObjectMapQueryParameters: true
?metadata[env]=prod
```

Maps with primitive values are passed through as-is. Maps with object, nested map, list, or date values are serialized through the [serde layer](/learn/sdks/generators/typescript/serde-layer) first when `noSerdeLayer: false`, so nested keys use their wire names and dates become ISO strings (`?metadata[env][display_name]=prod&metadata[env][created_at]=2026-09-04T00:00:00.000Z`). With `noSerdeLayer: true`, these values are passed through unchanged.
</ParamField>

<ParamField path="defaultTimeout" type="number | 'infinity'" toc={true}>
The default timeout for network requests, in milliseconds. Set to `'infinity'` to disable the timeout. In the generated client, this can be overridden at the request level.
</ParamField>
Expand Down
Loading