Skip to main content

request-body-required

Disallows required: false on OpenAPI 3 request bodies for POST, PUT, and PATCH.

AttributeValue
CategoryOperations
MaturityGold
OpenAPIOpenAPI 3.0, 3.1, 3.2
StarterOff
Lenient–CompleteError

Intent

Write operations should not advertise their primary input as optional.

Flags

A post, put, or patch operation with an inline request body whose required property is explicitly boolean false.

Does not flag

Other methods, Swagger 2.0 documents, missing request bodies, referenced request bodies, or request bodies that omit required. Use request-body-defined to require the body itself.

See it fail

post:
requestBody:
required: false
content:
application/json:
schema:
type: object
responses:
'201':
description: Created

The diagnostic requires required to be true for the write operation.

Fix it

requestBody:
required: true
content:
application/json:
schema:
type: object

Configure

profiles:
default:
rules:
extends: [recommended]
override:
request-body-required: warn

Nearby: request-body-defined, get-request-body-disallowed.