v4

latestOpenAPI 3.1.02026-07-3163216290.7 KB
Workflow nodes

Add a branch

Add a branch and a child node under an existing Branch or Experiment node. Returns the created child node plus the latest workflow.

  • Adding a branch to a BranchNode creates one AudienceFilter child node.
  • Adding a branch to an ExperimentBranchNode creates one VariantNode child node.

This endpoint does not accept node configuration fields; update the child node with POST /v1/workflows/{workflowId}/nodes/{nodeId} after creation. Public workflows are limited to 300 nodes, and this endpoint adds 1 node.

post/v1/workflows/{workflowId}/nodes/{nodeId}/add-branch

Request body

expectedRevisionIdstring nullable required

The workflow revision token returned by the latest workflow read or mutation. Older workflows may return null before their first revision-aware mutation; pass null back as expectedRevisionId in that case. If the token is stale, the API returns a 409 Conflict error.

Response

Branch added.

Example response

{
  "node": {
    "contactPropertyQuery": {
      "key": "firstName"
    }
  },
  "workflow": {
    "id": "clw1a3b5c7d9e1f3g5h7i9j1",
    "status": "Draft",
    "name": "Welcome series",
    "description": "Onboarding emails for new signups",
    "mailingListId": "clm2k8j4h6g0f8d6s4a2b0z8",
    "rootNodeId": "cln8p0q2r4s6t8u0v2w4x6z8",
    "nodes": {
      "cln8p0q2r4s6t8u0v2w4x6z8": {
        "typeName": "SignupTrigger",
        "nextNodeIds": [
          "cln1a3b5c7d9e1f3g5h7i9j1"
        ]
      },
      "cln1a3b5c7d9e1f3g5h7i9j1": {
        "typeName": "SendEmailAction",
        "nextNodeIds": [],
        "emailMessageId": "cle5f7g9h1i3j5k7l9m1n3p5",
        "subject": "Welcome to Acme!"
      }
    }
  }
}