> [!WARNING] > Is not tested automatically by the CI anymore. > See [#121](https://github.com/graphql/graphql-http/pull/121) * This report was auto-generated by graphql-http
22EB SHOULD accept application/graphql-response+json and match the content-type4655 MUST accept application/json and match the content-type47DE SHOULD accept */* and use application/json for the content-type80D8 SHOULD assume application/json content-type when accept is missing82A3 MUST use utf-8 encoding when respondingBF61 MUST accept utf-8 encoded request78D5 MUST assume utf-8 in request if encoding is unspecified2C94 MUST accept POST requests5A70 MAY accept application/x-www-form-urlencoded formatted GET requests9C48 MAY NOT allow executing mutations on GET requests9ABE MAY respond with 4xx status code if content-type is not supplied on POST requests03D4 MUST accept application/json POST requestsA5BF MAY use 400 status code when request body is missing on POST423L MAY use 400 status code on missing {query} parameter34A2 SHOULD allow string {query} parameter when accepting application/graphql-response+json13EE MUST allow string {query} parameter when accepting application/json8161 SHOULD allow string {operationName} parameter when accepting application/graphql-response+jsonB8B3 MUST allow string {operationName} parameter when accepting application/json94B0 SHOULD allow null {variables} parameter when accepting application/graphql-response+json0220 MUST allow null {variables} parameter when accepting application/json94B1 SHOULD allow null {operationName} parameter when accepting application/graphql-response+json0221 MUST allow null {operationName} parameter when accepting application/json94B2 SHOULD allow null {extensions} parameter when accepting application/graphql-response+json0222 MUST allow null {extensions} parameter when accepting application/json2EA1 SHOULD allow map {variables} parameter when accepting application/graphql-response+json28B9 MUST allow map {variables} parameter when accepting application/jsonD6D5 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/graphql-response+json6A70 MAY allow URL-encoded JSON string {variables} parameter in GETs when accepting application/json428F SHOULD allow map {extensions} parameter when accepting application/graphql-response+json1B7A MUST allow map {extensions} parameter when accepting application/jsonB6DC MAY use 4xx or 5xx status codes on JSON parsing failureBCF8 MAY use 400 status code on JSON parsing failure7B9B SHOULD use a status code of 200 on variable coercion failure when accepting application/json865D SHOULD use 4xx or 5xx status codes on document parsing failure when accepting application/graphql-response+json556A SHOULD use 400 status code on document parsing failure when accepting application/graphql-response+jsonD586 SHOULD not contain the data entry on document parsing failure when accepting application/graphql-response+json51FE SHOULD use 4xx or 5xx status codes on document validation failure when accepting application/graphql-response+json74FF SHOULD use 400 status code on document validation failure when accepting application/graphql-response+json5E5B SHOULD not contain the data entry on document validation failure when accepting application/graphql-response+jsonLKJ0 MAY use 400 status code on object {query} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
LKJ1 MAY use 400 status code on number {query} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
LKJ2 MAY use 400 status code on boolean {query} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
LKJ3 MAY use 400 status code on array {query} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
6C00 MAY use 400 status code on object {operationName} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
6C01 MAY use 400 status code on number {operationName} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
6C02 MAY use 400 status code on boolean {operationName} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
6C03 MAY use 400 status code on array {operationName} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
4760 MAY use 400 status code on string {variables} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
4761 MAY use 400 status code on number {variables} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
4762 MAY use 400 status code on boolean {variables} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
4763 MAY use 400 status code on array {variables} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
58B0 MAY use 400 status code on string {extensions} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
58B1 MAY use 400 status code on number {extensions} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
58B2 MAY use 400 status code on boolean {extensions} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
58B3 MAY use 400 status code on array {extensions} parameter
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "65",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Invalid GraphQL request form"
}
]
}
}
8764 MAY use 4xx or 5xx status codes if parameters are invalid
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "60",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Missing query parameter"
}
]
}
}
3E3A MAY use 400 status code if parameters are invalid
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "60",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Missing query parameter"
}
]
}
}
572B SHOULD use 200 status code on document parsing failure when accepting application/json
{
"statusText": "Bad Request",
"status": 400,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "95",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Operation of this type is not allowed and has been blocked"
}
]
}
}
FDE2 SHOULD use 200 status code on document validation failure when accepting application/json
{
"statusText": "Bad Request",
"status": 400,
"headers": {
"date": "",
"content-type": "application/json; charset=utf-8",
"content-length": "95",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Operation of this type is not allowed and has been blocked"
}
]
}
}
86EE SHOULD use a status code of 400 on variable coercion failure when accepting application/graphql-response+json
{
"statusText": "OK",
"status": 200,
"headers": {
"date": "",
"content-type": "application/graphql-response+json; charset=utf-8, application/graphql-response+json",
"content-length": "136",
"connection": "keep-alive"
},
"body": {
"errors": [
{
"path": [],
"message": "Variable \"$id\" is never used in operation \"CoerceFailure\".",
"locations": [
{
"line": 1,
"column": 21
}
]
}
]
}
}