n8n-io/n8n · error
INVALID_PARAMETER
INVALID_PARAMETER
Error message
'${node.name}' sends an XML/SOAP payload but is configured as JSON. For XML, SOAP, CSV, or plain-text HTTP Request bodies, set sendBody=true, contentType='raw', put the payload in body, set rawContentType to an XML media type such as 'text/xml' or 'application/xml', and omit specifyBody/jsonBody/bodyParameters. What it means
Error "'${node.name}' sends an XML/SOAP payload but is configured as JSON. For XML, SOAP, CSV, or plain-text HTTP Request bodies, set sendBody=true, contentType='raw', put the payload in body, set rawContentType to an XML media type such as 'text/xml' or 'application/xml', and omit specifyBody/jsonBody/bodyParameters." thrown in n8n-io/n8n.
Source
Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/http-request-validator.ts:126
TEMPLATABLE_PLAIN_AUTH_TYPES.has(genericAuthType)
) {
const credentials = (node.config as { credentials?: Record<string, unknown> } | undefined)
?.credentials;
const credential = credentials?.[genericAuthType];
if (credential === undefined || isNewCredentialSentinel(credential)) {
issues.push({
code: 'PLAIN_GENERIC_AUTH',
message: `'${node.name}' creates a new ${genericAuthType} credential. Set genericAuthType to 'httpTemplatedCustomAuth' instead — \`Authorization: Bearer <token>\` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}} — or credential setup will reject it. Plain generic types are only for reusing an existing credential.`,
severity: 'warning',
nodeName: node.name,
parameterPath: 'genericAuthType',
});
}
}
if (params.contentType === 'json' && looksLikeXmlPayload(params.jsonBody)) {
issues.push({
code: 'INVALID_PARAMETER',
message: `'${node.name}' sends an XML/SOAP payload but is configured as JSON. For XML, SOAP, CSV, or plain-text HTTP Request bodies, set sendBody=true, contentType='raw', put the payload in body, set rawContentType to an XML media type such as 'text/xml' or 'application/xml', and omit specifyBody/jsonBody/bodyParameters.`,
severity: 'error',
nodeName: node.name,
parameterPath: 'jsonBody',
});
}
if (
params.sendBody === true &&
params.contentType === 'raw' &&
XML_MEDIA_TYPE_PATTERN.test(
typeof params.rawContentType === 'string' ? params.rawContentType : '',
) &&
isMissingBody(params.body)
) {
issues.push({
code: 'INVALID_PARAMETER',
message: `'${node.name}' is configured for a raw XML/SOAP body but the body field is empty. Put the XML payload or an expression such as expr('{{ $json.soapBody }}') in body, keep contentType='raw' and rawContentType set to an XML media type, and omit specifyBody/jsonBody/bodyParameters.`,View on GitHub (pinned to 5ac6606e81)
When it happens
Trigger: Thrown at packages/@n8n/workflow-sdk/src/workflow-builder/plugins/validators/http-request-validator.ts:126 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/2b07ed7c9ab66ae1.
Report an issue: GitHub.