> This page is for Fern CLI.

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

## 5.95.0

**`(feat):`** Add a way to model an omittable request body separately from its type. `HttpRequestBodyReference`
gains an optional `required`, and `HttpReferencedRequestBodySchema` gains an `optional` flag that
maps to `required: false`. This is distinct from `body: optional<Foo>`, which says the body's
*value* may be null; `optional: true` says the *call* may omit the body entirely, so the request
carries neither content nor a `Content-Type` header.

A request body that OpenAPI does not mark as required now always carries `required: false` into
the IR, with its own type left alone. Generated output is unchanged: reading the field is opt-in
per SDK generator, through that generator's own configuration, so a language adopts it whenever
it is ready instead of every language having to flip at once.

**`(chore):`** Deprecate the `respect-optional-request-body` OpenAPI setting. It is still accepted, but no longer
has any effect and warns when set; omittability now reaches generators through the IR regardless.
Endpoints whose body the spec does not mark as required no longer have that body typed as
`optional<Foo>`, so SDKs generated with the setting enabled describe the body as its own type
until the generator opts into omitting it.

**`(fix):`** Skip an OpenAPI example that calls an endpoint without a body the spec does not mark as required.
The body keeps its own type until a generator opts into omitting it, so such an example generated
a call missing a required argument, which does not compile.