|
30 | 30 | </ParamField> |
31 | 31 |
|
32 | 32 | <ParamField path="namespace" type="string" toc={true}> |
33 | | - Namespace for the specification. |
| 33 | + Namespace for the specification. Useful for configuring a [single package with multiple API versions](/api-definitions/overview/project-structure#option-2-namespace-based-versioning). |
34 | 34 | </ParamField> |
35 | 35 |
|
36 | | -<ParamField path="settings" type="OpenAPISettingsSchema" toc={true}> |
| 36 | +<ParamField path="settings" type="object" toc={true}> |
37 | 37 | OpenAPI-specific generation settings. |
38 | 38 | </ParamField> |
39 | 39 |
|
40 | 40 | <ParamField path="settings.title-as-schema-name" type="boolean" default="true" toc={true}> |
41 | 41 | Whether to use the titles of schemas within an OpenAPI definition as the names of types within Fern. |
42 | 42 | </ParamField> |
43 | 43 |
|
44 | | -<ParamField path="inline-path-parameters" type="boolean" default="false" toc={true}> |
| 44 | +<ParamField path="settings.inline-path-parameters" type="boolean" default="false" toc={true}> |
45 | 45 | Whether to include path parameters within the generated in-lined request. |
46 | 46 | </ParamField> |
47 | 47 |
|
48 | | -<ParamField path="inline-all-of-schemas" type="boolean" default="false" toc={true}> |
| 48 | +<ParamField path="settings.inline-all-of-schemas" type="boolean" default="false" toc={true}> |
49 | 49 | Whether to inline `allOf` schemas during code generation. When true, Fern recursively visits `allOf` schema definitions and inlines them into the child schema. When false, `allOf` schemas are extended through inheritance. |
50 | 50 |
|
51 | 51 | Enabling this setting allows child schemas to override parent property requirements. For example, a child schema can mark a parent's required property as optional. Without this setting, Fern ignores the child schema's optional declaration and preserves the parent schema's requirement instead. |
52 | 52 | </ParamField> |
53 | 53 |
|
54 | | -<ParamField path="prefer-undiscriminated-unions-with-literals" type="boolean" default="false" toc={true}> |
| 54 | +<ParamField path="settings.prefer-undiscriminated-unions-with-literals" type="boolean" default="false" toc={true}> |
55 | 55 | Whether to prefer undiscriminated unions with literals. |
56 | 56 | </ParamField> |
57 | 57 |
|
58 | | -<ParamField path="only-include-referenced-schemas" type="boolean" default="false" toc={true}> |
| 58 | +<ParamField path="settings.only-include-referenced-schemas" type="boolean" default="false" toc={true}> |
59 | 59 | Whether to only include schemas referenced by endpoints in the generated SDK (tree-shaking). |
60 | 60 | </ParamField> |
61 | 61 |
|
62 | | -<ParamField path="respect-nullable-schemas" type="boolean" default="false" toc={true}> |
| 62 | +<ParamField path="settings.respect-nullable-schemas" type="boolean" default="false" toc={true}> |
63 | 63 | Preserves nullable schemas in API definition settings. When false, nullable schemas are treated as optional. |
64 | 64 | </ParamField> |
65 | 65 |
|
66 | | -<ParamField path="object-query-parameters" type="boolean" toc={true}> |
| 66 | +<ParamField path="settings.object-query-parameters" type="boolean" toc={true}> |
67 | 67 | Enables parsing deep object query parameters. |
68 | 68 | </ParamField> |
69 | 69 |
|
70 | | -<ParamField path="respect-readonly-schemas" type="boolean" toc={true}> |
| 70 | +<ParamField path="settings.respect-readonly-schemas" type="boolean" toc={true}> |
71 | 71 | Enables exploring readonly schemas in OpenAPI specifications. |
72 | 72 | </ParamField> |
73 | 73 |
|
74 | | -<ParamField path="respect-forward-compatible-enums" type="boolean" default="false" toc={true}> |
| 74 | +<ParamField path="settings.respect-forward-compatible-enums" type="boolean" default="false" toc={true}> |
75 | 75 | Enables respecting forward compatible enums in OpenAPI specifications. |
76 | 76 | </ParamField> |
77 | 77 |
|
78 | | -<ParamField path="use-bytes-for-binary-response" type="boolean" toc={true}> |
| 78 | +<ParamField path="settings.use-bytes-for-binary-response" type="boolean" toc={true}> |
79 | 79 | Enables using the `bytes` type for binary responses. Defaults to file stream. |
80 | 80 | </ParamField> |
81 | 81 |
|
82 | | -<ParamField path="default-form-parameter-encoding" type="FormParameterEncoding" default="json" toc={true}> |
| 82 | +<ParamField path="settings.default-form-parameter-encoding" type="string" default="json" toc={true}> |
83 | 83 | The default encoding of form parameters. Options: `form`, `json`. |
84 | 84 | </ParamField> |
85 | 85 |
|
86 | | -<ParamField path="additional-properties-defaults-to" type="boolean" default="false" toc={true}> |
| 86 | +<ParamField path="settings.additional-properties-defaults-to" type="boolean" default="false" toc={true}> |
87 | 87 | Configure what `additionalProperties` should default to when not explicitly defined on a schema. |
88 | 88 | </ParamField> |
89 | 89 |
|
90 | | -<ParamField path="type-dates-as-strings" type="boolean" default="true" toc={true}> |
| 90 | +<ParamField path="settings.type-dates-as-strings" type="boolean" default="true" toc={true}> |
91 | 91 | If true, convert strings with format date to strings. If false, convert to dates. |
92 | 92 | </ParamField> |
93 | 93 |
|
94 | | -<ParamField path="preserve-single-schema-oneof" type="boolean" default="false" toc={true}> |
| 94 | +<ParamField path="settings.preserve-single-schema-oneof" type="boolean" default="false" toc={true}> |
95 | 95 | If true, preserve oneOf structures with a single schema. If false, unwrap them. |
96 | 96 | </ParamField> |
97 | 97 |
|
98 | | -<ParamField path="filter.endpoints" type="list<string>" toc={true}> |
| 98 | +<ParamField path="settings.filter.endpoints" type="list of strings" toc={true}> |
99 | 99 | Endpoints to include in the generated SDK (e.g., "POST /users"). |
100 | 100 | </ParamField> |
101 | 101 |
|
102 | | -<ParamField path="example-generation.request.max-depth" type="integer" toc={true}> |
| 102 | +<ParamField path="settings.example-generation.request.max-depth" type="integer" toc={true}> |
103 | 103 | Controls the maximum depth for which optional properties will have examples generated. A depth of 0 means no optional properties will have examples. |
104 | 104 | </ParamField> |
105 | 105 |
|
106 | | -<ParamField path="example-generation.response.max-depth" type="integer" toc={true}> |
| 106 | +<ParamField path="settings.example-generation.response.max-depth" type="integer" toc={true}> |
107 | 107 | Controls the maximum depth for which optional properties will have examples generated in responses. |
108 | 108 | </ParamField> |
109 | 109 |
|
110 | | -<ParamField path="coerce-enums-to-literals" type="boolean" default="true" toc={true}> |
| 110 | +<ParamField path="settings.coerce-enums-to-literals" type="boolean" default="true" toc={true}> |
111 | 111 | Controls whether enums are converted to literal types during code generation. When set to `false`, enums are preserved as enums rather than being converted to literal types. This is useful when you want to maintain the original enum structure from your OpenAPI specification. |
112 | 112 | </ParamField> |
113 | 113 |
|
114 | | -<ParamField path="idiomatic-request-names" type="boolean" default="false" toc={true}> |
| 114 | +<ParamField path="settings.idiomatic-request-names" type="boolean" default="false" toc={true}> |
115 | 115 | Controls the naming convention for autogenerated request names. When enabled, places the verb before the noun in request names (e.g., `UsersListRequest` becomes `ListUsersRequest`), following more idiomatic naming patterns. |
116 | 116 |
|
117 | 117 | Disabled by default to maintain backwards compatibility. |
118 | 118 |
|
119 | 119 | </ParamField> |
120 | 120 |
|
121 | | -<ParamField path="resolve-aliases" type="boolean" default="false" toc={true}> |
| 121 | +<ParamField path="settings.resolve-aliases" type="boolean" default="false" toc={true}> |
122 | 122 | Inlines type aliases to simplify your generated SDK. When enabled, reduces |
123 | 123 | unnecessary type definitions by replacing simple aliases with their underlying |
124 | 124 | types directly. Useful for OpenAPI specs with many primitive or simple type |
|
139 | 139 | - OrganizationId |
140 | 140 | ``` |
141 | 141 | </ParamField> |
| 142 | +<ParamField path="settings.group-environments-by-host" type="boolean" default="false" toc={true}> |
| 143 | + When enabled, groups servers by host into unified environments, enabling APIs with multiple protocols (REST, WebSocket, etc.) to share environment configuration. Environment URL IDs use the server name, with path or protocol suffixes added only when needed to resolve collisions. |
| 144 | + |
| 145 | +</ParamField> |
0 commit comments