diff --git a/packages/@n8n/api-types/src/dto/workflows/__tests__/create-workflow-public.dto.test.ts b/packages/@n8n/api-types/src/dto/workflows/__tests__/create-workflow-public.dto.test.ts index 406f1b0a013..524e54c4377 100644 --- a/packages/@n8n/api-types/src/dto/workflows/__tests__/create-workflow-public.dto.test.ts +++ b/packages/@n8n/api-types/src/dto/workflows/__tests__/create-workflow-public.dto.test.ts @@ -73,6 +73,18 @@ describe('CreateWorkflowPublicDto', () => { expect(result.success).toBe(true); }); + test('accepts node.extendsCredential but ignores it', () => { + const result = CreateWorkflowPublicDto.safeParse({ + ...validPayload, + nodes: [{ ...validPayload.nodes[0], extendsCredential: 'datadogApi' }], + }); + + expect(result.success).toBe(true); + if (result.success) { + expect(result.data.nodes[0]).not.toHaveProperty('extendsCredential'); + } + }); + test.each([ ['accepts', 155, true], ['rejects', 156, false], diff --git a/packages/@n8n/api-types/src/dto/workflows/base-workflow-public.dto.ts b/packages/@n8n/api-types/src/dto/workflows/base-workflow-public.dto.ts index f54aa129e53..9072423c46b 100644 --- a/packages/@n8n/api-types/src/dto/workflows/base-workflow-public.dto.ts +++ b/packages/@n8n/api-types/src/dto/workflows/base-workflow-public.dto.ts @@ -51,10 +51,13 @@ const workflowNodeWritePublicSchema = z .object({ tag: z.array(customTelemetryTagPublicSchema).optional() }) .strict() .optional(), + // Accepted but ignored, this is an internal editor-produced marker for credential-only HTTP Request nodes + extendsCredential: z.string().optional(), createdAt: readOnlyPublicSchema(readOnlyTimestampOpenApi), updatedAt: readOnlyPublicSchema(readOnlyTimestampOpenApi), }) - .strict(); + .strict() + .transform(({ extendsCredential: _extendsCredential, ...node }) => node); const workflowNodeGroupWritePublicSchema = z .object({ diff --git a/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/createWorkflow.generated.yml b/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/createWorkflow.generated.yml index 701f00810db..5b3667674ac 100644 --- a/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/createWorkflow.generated.yml +++ b/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/createWorkflow.generated.yml @@ -124,6 +124,8 @@ requestBody: - value additionalProperties: false additionalProperties: false + extendsCredential: + type: string createdAt: type: string format: date-time diff --git a/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/updateWorkflow.generated.yml b/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/updateWorkflow.generated.yml index e1bbd574d74..1bbd9413409 100644 --- a/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/updateWorkflow.generated.yml +++ b/packages/cli/src/public-api/v1/handlers/workflows/spec/paths/updateWorkflow.generated.yml @@ -141,6 +141,8 @@ requestBody: - value additionalProperties: false additionalProperties: false + extendsCredential: + type: string createdAt: type: string format: date-time