> This page is for SDKs, version Legacy.
> For other versions, use one of these documentation indexes:
> - Current (default): https://buildwithfern.com/learn/sdks/current/llms.txt
> - Legacy: https://buildwithfern.com/learn/sdks/legacy/llms.txt

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

## 4.55.0

**`(feat):`** Add support for server URL templating with OpenAPI server variables. This enables
dynamic base URL construction at runtime based on user-provided configuration.

**OpenAPI definition example:**

```yaml
servers:
  - url: https://api.{region}.{environment}.example.com/v1
    variables:
      region:
        default: us-east-1
        enum: [us-east-1, us-west-2, eu-west-1]
      environment:
        default: prod
        enum: [prod, staging, dev]
```

**Generated constructor parameters:**
Server variables are exposed as optional constructor parameters with their default values:

* `region: typing.Optional[str]` - defaults to `"us-east-1"`
* `server_url_environment: typing.Optional[str]` - defaults to `"prod"` (prefixed to avoid shadowing)

**Runtime URL interpolation:**
When server variables are provided, the SDK performs runtime URL template interpolation:

```python
from seed import SeedApi

# Uses default: https://api.us-east-1.prod.example.com/v1
client = SeedApi()

# Custom region: https://api.eu-west-1.prod.example.com/v1
client = SeedApi(region="eu-west-1")

# Custom region and environment: https://api.us-west-2.staging.example.com/v1
client = SeedApi(region="us-west-2", server_url_environment="staging")
```

**Multiple base URL environments:**
For APIs with multiple base URLs (e.g., separate `base` and `auth` URLs), each URL
template is interpolated independently with the same server variables.

**`x-fern-default-url` extension:**
When present in the OpenAPI spec, this extension specifies which server URL should
be used as the default environment, overriding the first server in the list.

## 4.54.4

**`(fix):`** The `use_provided_defaults` config option no longer applies defaults to
inlined request body properties.