AEP 135 currently states that a delete should return a 204 with a response body of {}.
https://aep.dev/135/#responses
paths:
/publishers/{publisher_id}/books/{book_id}:
delete:
responses:
'204':
content:
application/json:
schema: {}
description: Successful response
However, RFC 9110 states that it should have literally no body on a 204.
The 204 (No Content) status code indicates that the server has successfully fulfilled the request and that there is no additional content to send in the response content.
...
A 204 response is terminated by the end of the header section; it cannot contain content or trailers.
Looking at our options for DELETE in section 9.3.5, our options are switch to a 200, or use a 204 with no body at all.
a 202 (Accepted) status code if the action will likely succeed but has not yet been enacted,
a 204 (No Content) status code if the action has been enacted and no further information is to be supplied, or
a 200 (OK) status code if the action has been enacted and the response message includes a representation describing the status.
I think I raised this issue before the 2026 release was finalized and pushed to get this switched to a 204, but didn't realize that a 200 would actually be correct if we had a response body describing the status. I think the question remains - do we need the response body or not, since it doesn't really describe the status.
AEP 135 currently states that a delete should return a 204 with a response body of
{}.https://aep.dev/135/#responses
However, RFC 9110 states that it should have literally no body on a 204.
Looking at our options for DELETE in section 9.3.5, our options are switch to a 200, or use a 204 with no body at all.
I think I raised this issue before the 2026 release was finalized and pushed to get this switched to a 204, but didn't realize that a 200 would actually be correct if we had a response body describing the status. I think the question remains - do we need the response body or not, since it doesn't really describe the status.