Skip to content
Open
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
de74b1a
Add Appendix A -- application/json responses
martinbonnin Apr 2, 2026
06e8a91
typo
martinbonnin Apr 2, 2026
08092ef
format
martinbonnin Apr 2, 2026
365a486
Keep diff small
martinbonnin Apr 3, 2026
7ee84ee
State that a server must support `application/graphql-response+json`
martinbonnin Apr 3, 2026
5fcc6ca
Format, link to Appendix A
martinbonnin Apr 3, 2026
eba7cf7
add missing quotes
martinbonnin Apr 3, 2026
44c3b9d
Add a SHOULD for clients to support both media types, symmetrical to …
martinbonnin Apr 23, 2026
fa09bb9
Reword the client compatibility paragraph
martinbonnin May 5, 2026
9e8e537
format
martinbonnin May 5, 2026
1d6869d
Restore important guidance, improve legacy support (#398)
benjie May 7, 2026
5bfb54c
No need for this rule, and it forbids persisted docs
benjie Jun 23, 2026
fd807c3
'GraphQL POST request' defined, doesn't feel right
benjie Jun 23, 2026
1c479e0
Consistency with prior text
benjie Jun 23, 2026
e9976a4
No need to reference the appendix
benjie Jun 23, 2026
32d57b7
Remove dependency on Appendix A
benjie Jun 23, 2026
ebc4d9b
Remove Appendix A and perform additional editorial
benjie Jun 23, 2026
b4f10b1
Decrease header levels
benjie Jun 23, 2026
1ea7ee4
Don't use headers
benjie Jun 23, 2026
f835f72
middlewares -> middleware
benjie Jun 23, 2026
742d088
Fix typo
benjie Jun 23, 2026
7f33a00
Codex grammar check
benjie Jun 23, 2026
0ee19d9
Merge branch 'main' into legacy-client-editorial
benjie Jul 1, 2026
c4e51c6
Address @phyrneas' feedback
benjie Jul 1, 2026
1628de9
Avoid `_singular_s`
benjie Jul 1, 2026
83c67fe
Attempt to clarify
benjie Jul 1, 2026
f7459ef
Different tact
benjie Jul 1, 2026
34da188
Remove MUST requirement for 405
martinbonnin Jul 3, 2026
f05058d
Merge branch 'main' into 405-recommended
martinbonnin Jul 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions spec/GraphQLOverHTTP.md
Original file line number Diff line number Diff line change
Expand Up @@ -276,9 +276,10 @@ either omit {operationName} or set it to the empty string.

GET requests MUST NOT be used for executing mutation operations. If the values
of {query} and {operationName} indicate that a mutation operation is to be
executed, the server MUST respond with error status code `405` (Method Not
Allowed) and halt execution. This restriction is necessary to conform with the
long-established semantics of safe methods within HTTP.
executed, the server MUST respond with an appropriate 4xx or 5xx status code and
halt execution. Using `405` (Method Not Allowed) is RECOMMENDED. This
restriction is necessary to conform with the long-established semantics of safe
methods within HTTP.

### Example

Expand Down Expand Up @@ -531,8 +532,8 @@ reply with an appropriate `4xx` or `5xx` status code:

- If the failure is due to an issue in the request itself, the appropriate `4xx`
status code should be used:
- If a mutation is attempted via the `GET` verb, status code `405` MUST be
used.
- If a mutation is attempted via the `GET` verb, status code `405` is
RECOMMENDED.
- If an unsupported HTTP method is used, status code `405` is RECOMMENDED.
- If the `Content-Type` of the request is not supported, status code `415` is
RECOMMENDED.
Expand Down
Loading