Here's my body, from this walkthrough:
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"layerId": {
"type": "integer"
},
"orgId": {
"type": "string"
},
"serviceName": {
"type": "string"
},
"lastUpdatedTime": {
"type": "integer"
},
"changesUrl": {
"type": "string"
},
"events": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"name",
"layerId",
"orgId",
"serviceName",
"lastUpdatedTime",
"changesUrl",
"events"
]
}
}
When I replace with your simple body above, it works!

So it must be something about the body from the walkthrough? Of note, as discussed above the walkthrough is for hosted layers in ArcGIS Online, but I'm working against a referenced feature service on a federated hosting server in Enterprise. Possible that the properties called must be different? I don't know where to look for a correct list.
Happy mapping,
- Zach