Accept-Post
The HTTP Accept-Post response header lists the media types a server accepts in a POST request body.
Usage
The Accept-Post header informs clients which media types a server supports for POST requests to a given resource. The header originated in the W3C Linked Data Platform specification as a way for servers to advertise the content formats accepted when creating new resources.
A server sends Accept-Post in response to any request method. The most common placement is in OPTIONS responses, where clients probe for supported capabilities before sending data. Regular responses also include the header to surface accepted formats proactively.
When a client submits a POST request with an unsupported media type, the server responds with 415 Unsupported Media Type. Including Accept-Post in the error response directs the client toward a valid format.
Values
media-type
A comma-separated list of media types, optionally
including parameters. Each entry identifies a format
the server accepts for POST request bodies. The
wildcard */* signals acceptance of any media type.
Example
A server advertising several accepted formats for POST requests, including a generic text type and a specific application type.
Accept-Post: application/json, text/csv
A server accepting any media type for uploads.
Accept-Post: */*
Multiple Accept-Post lines listing different formats. Servers split the values across lines or combine them with commas.
Accept-Post: application/ld+json
Accept-Post: text/turtle
Accept-Post: application/rdf+xml
A W3C-owned field with a live contradiction
Accept-Post is registered as a permanent HTTP
field with the Linked Data Platform recommendation
as its defining document, an unusual arrangement
where a W3C specification rather than an RFC owns
the field. The value reuses media-range syntax
without quality values, so */* is valid, unlike
the Accept-Patch model the header
was patterned on.
Presence carries an implicit claim: any response
carrying Accept-Post declares POST
allowed on the resource. Live Solid servers show the
claim colliding with Allow, answering
OPTIONS with Allow: GET,HEAD beside
Accept-Post: */* on the same response, which
leaves a client to decide which header to believe.
The */* value is the Solid community's documented
answer to accepting arbitrary uploads, where
enumerating media types is hopeless.
Outside the Linked Data Platform and Solid, the header is rare, and the useful serving pattern pairs the field with 415: a rejected POST answered with Accept-Post names what the resource takes, turning an error into a correction.