---
title: "Changes to Create a workflow node"
method: POST
path: "/v1/workflows/{workflowId}/nodes"
---

# Changes to Create a workflow node

`POST /v1/workflows/{workflowId}/nodes`

> Every recorded change to this operation, newest first.
> 16 revisions in range; 2 not diffed.

## Timeline

Changed in 5 of 16 revisions.

- **2026-10-21** `e2a4a01eed1e`: 1 info
- **2026-10-07** `ac25499abd64`: 12 breaking, 12 info
- **2026-08-06** `96c4b50b8b95`: 6 info
- **2026-07-26** `72d136d738c3`: 3 info
- **2026-07-21** `df77516a130a`: 1 info

## Changes

- **2026-10-21** `e2a4a01eed1e`: 1 info
  - added the required property `workflow/workflowGroupId` to the response with the `200` status
- **2026-10-07** `ac25499abd64`: 12 breaking, 12 info
  - removed `subschema #1, subschema #2` from the `oneOf[#/components/schemas/CreateWorkflowNodeBeforeRequest -> subschema #2: Before a node]/` request property `oneOf` list
  - added `subschema #1: String, subschema #2: Number, subschema #3: Boolean` to the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNodeWithRevision -> subschema #3: Contact property trigger]/allOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #1: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/is/value` response property `oneOf` list for the response status `200`
  - added `subschema #1: String, subschema #2: Number, subschema #3: Boolean` to the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNodeWithRevision -> subschema #3: Contact property trigger]/allOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #1: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/was/value` response property `oneOf` list for the response status `200`
  - added `subschema #1: String, subschema #2: Number, subschema #3: Boolean` to the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/is/value` response property `oneOf` list for the response status `200`
  - added `subschema #1: String, subschema #2: Number, subschema #3: Boolean` to the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/was/value` response property `oneOf` list for the response status `200`
  - added `subschema #1: String, subschema #2: Number, subschema #3: Boolean` to the `workflow/nodes/additionalProperties/oneOf[#/components/schemas/SimplifiedContactPropertyTriggerWorkflowNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/is/value` response property `oneOf` list for the response status `200`
  - added `subschema #1: String, subschema #2: Number, subschema #3: Boolean` to the `workflow/nodes/additionalProperties/oneOf[#/components/schemas/SimplifiedContactPropertyTriggerWorkflowNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/was/value` response property `oneOf` list for the response status `200`
  - added `subschema #1: String, subschema #2: Number, subschema #3: Date range` to the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/AudienceFilterWorkflowMutationNodeWithRevision -> subschema #6: Audience filter node]/allOf[#/components/schemas/AudienceFilterWorkflowMutationNode -> subschema #1: Audience filter node]/audienceFilter/conditions/items/oneOf[#/components/schemas/PropertyCondition -> subschema #1: Contact property]/value` response property `oneOf` list for the response status `200`
  - added `subschema #1: String, subschema #2: Number, subschema #3: Date range` to the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/AudienceFilterWorkflowMutationNode -> subschema #6: Audience filter node]/audienceFilter/conditions/items/oneOf[#/components/schemas/PropertyCondition -> subschema #1: Contact property]/value` response property `oneOf` list for the response status `200`
  - added `subschema #2: Null` to the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNodeWithRevision -> subschema #3: Contact property trigger]/allOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #1: Contact property trigger]/contactPropertyQuery` response property `oneOf` list for the response status `200`
  - added `subschema #2: Null` to the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #3: Contact property trigger]/contactPropertyQuery` response property `oneOf` list for the response status `200`
  - added `subschema #2: Null` to the `workflow/nodes/additionalProperties/oneOf[#/components/schemas/SimplifiedContactPropertyTriggerWorkflowNode -> subschema #3: Contact property trigger]/contactPropertyQuery` response property `oneOf` list for the response status `200`
  - added `subschema #1: Target node, subschema #2: Target node (deprecated)` to the `oneOf[#/components/schemas/CreateWorkflowNodeBeforeRequest -> subschema #2: Before a node]/` request property `oneOf` list
  - removed `subschema #1, subschema #2, subschema #3` from the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/AudienceFilterWorkflowMutationNodeWithRevision -> subschema #6: Audience filter node]/allOf[#/components/schemas/AudienceFilterWorkflowMutationNode -> subschema #1: Audience filter node]/audienceFilter/conditions/items/oneOf[#/components/schemas/PropertyCondition -> subschema #1: Contact property]/value` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNodeWithRevision -> subschema #3: Contact property trigger]/allOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #1: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/is/value` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNodeWithRevision -> subschema #3: Contact property trigger]/allOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #1: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/was/value` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/AudienceFilterWorkflowMutationNode -> subschema #6: Audience filter node]/audienceFilter/conditions/items/oneOf[#/components/schemas/PropertyCondition -> subschema #1: Contact property]/value` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/is/value` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/was/value` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `workflow/nodes/additionalProperties/oneOf[#/components/schemas/SimplifiedContactPropertyTriggerWorkflowNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/is/value` response property `oneOf` list for the response status `200`
  - removed `subschema #1, subschema #2, subschema #3` from the `workflow/nodes/additionalProperties/oneOf[#/components/schemas/SimplifiedContactPropertyTriggerWorkflowNode -> subschema #3: Contact property trigger]/contactPropertyQuery/oneOf[#/components/schemas/WorkflowContactPropertyQuery -> subschema #1: Contact property query]/was/value` response property `oneOf` list for the response status `200`
  - removed `subschema #2` from the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNodeWithRevision -> subschema #3: Contact property trigger]/allOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #1: Contact property trigger]/contactPropertyQuery` response property `oneOf` list for the response status `200`
  - removed `subschema #2` from the `node/allOf[subschema #2]/createdChildNodes/items/oneOf[#/components/schemas/ContactPropertyTriggerWorkflowMutationNode -> subschema #3: Contact property trigger]/contactPropertyQuery` response property `oneOf` list for the response status `200`
  - removed `subschema #2` from the `workflow/nodes/additionalProperties/oneOf[#/components/schemas/SimplifiedContactPropertyTriggerWorkflowNode -> subschema #3: Contact property trigger]/contactPropertyQuery` response property `oneOf` list for the response status `200`
- **2026-08-06** `96c4b50b8b95`: 6 info
  - added the new optional request property `oneOf[#/components/schemas/CreateWorkflowNodeBeforeRequest]/toNodeId`
  - added `after` mapping keys to the request discriminator
  - added `#/components/schemas/CreateWorkflowNodeAfterRequest` to the request body `oneOf` list
  - the request property `oneOf[#/components/schemas/CreateWorkflowNodeBeforeRequest]/beforeNodeId` became optional
  - request property `oneOf[#/components/schemas/CreateWorkflowNodeBeforeRequest]/beforeNodeId` deprecated
  - added `subschema #1, subschema #2` to the `oneOf[#/components/schemas/CreateWorkflowNodeBeforeRequest]/` request property `oneOf` list
- **2026-07-26** `72d136d738c3`: 3 info
  - added `between, before` mapping keys to the request discriminator
  - added `SignupTrigger, EventTrigger, ContactPropertyTrigger, AddToListTrigger, BlankTrigger, AudienceFilter, TimerAction, SendEmailAction, ExitAction, BranchNode, ExperimentBranchNode, VariantNode` discriminator mapping keys to the `node/allOf[#/components/schemas/WorkflowMutationNodeWithRevision]/` response property for the response status `200`
  - added `SignupTrigger, EventTrigger, ContactPropertyTrigger, AddToListTrigger, BlankTrigger, AudienceFilter, TimerAction, SendEmailAction, ExitAction, BranchNode, ExperimentBranchNode, VariantNode` discriminator mapping keys to the `node/allOf[subschema #2]/createdChildNodes/items/` response property for the response status `200`
- **2026-07-21** `df77516a130a`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/loops/apis/loops-openapi-spec/docs/v1/workflows/:workflowId/nodes/post.md) - [API](https://skmtc.dev/loops/apis/loops-openapi-spec.md) - [Page](https://skmtc.dev/loops/apis/loops-openapi-spec/changes/v1/workflows/:workflowId/nodes/post)
