> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. # Default values > Use `x-fern-default` to set client-side default values for path, header, and query parameters in generated SDKs. The `x-fern-default` extension lets you specify a client-side default value for a path, header, or query parameter, including headers defined under [`x-fern-global-headers`](/learn/api-definitions/openapi/extensions/global-headers). When present, the generated SDK makes the parameter optional and automatically sends the default value if the caller omits it. `x-fern-default` supports `string` and `boolean` values; other types (such as numbers) are ignored. This is useful for pinning an API version header or a region path parameter while still allowing callers to override the value. `x-fern-default` is supported across all SDK languages. Fern uses `x-fern-default` instead of the standard OpenAPI `default` property because they have different semantics. The OpenAPI `default` on a schema describes the value the **server** assumes when the parameter is omitted — it's a documentation hint and doesn't affect client behavior. `x-fern-default` instructs the generated SDK to **actively send** the value in every request when the caller doesn't provide one, ensuring the parameter is always present on the wire. ## Path parameters In the example below, the SDK sends `us-east-1` for `region` when the caller doesn't specify one. **`openapi.yml`** ```yaml {9} title="openapi.yml" paths: /regions/{region}/resources: get: operationId: list_resources parameters: - name: region in: path required: true x-fern-default: "us-east-1" schema: type: string ``` ## Headers In the example below, the SDK sends `2024-02-08` for `X-API-Version` when the caller doesn't specify one. **`openapi.yml`** ```yaml {8} title="openapi.yml" paths: /users: get: operationId: list_users parameters: - name: X-API-Version in: header x-fern-default: "2024-02-08" schema: type: string ``` ## Query parameters In the example below, the SDK sends `false` for `verbose` when the caller doesn't specify one. **`openapi.yml`** ```yaml {8} title="openapi.yml" paths: /search: get: operationId: search parameters: - name: verbose in: query x-fern-default: false schema: type: boolean ``` ## Global headers In the example below, the SDK sends `2024-02-08` for the `X-API-Version` global header when the caller doesn't specify one. **`openapi.yml`** ```yaml {4} title="openapi.yml" x-fern-global-headers: - header: X-API-Version name: version x-fern-default: "2024-02-08" ``` > Use `x-fern-default` to set client-side default values for path, header, and query parameters in generated SDKs.