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.