Sequences

Update sequence

Updates sequence settings and content, inserts linear or branching steps, or performs revision-guarded graph edits.

put/sequences/{sequenceId}

Path parameters

sequenceIdstring required

Sequence ID

Request body

descriptionstring

Updated dashboard description.

userCancellableboolean

Whether recipients can cancel this sequence from email preferences.

labelsstring[]

Replacement dashboard label names. Missing labels are created.

fromEmailstring email

From address for every email in this sequence. Its domain must be configured and verified.

fromNamestring

Display name for a newly created sender profile. Requires fromEmail.

senderProfileIdstring

Existing sender profile ID. Mutually exclusive with fromEmail.

replyTostring email

Reply-To address for every email in this sequence.

replyToNamestring

Display name for a newly created reply profile. Requires replyTo.

replyProfileIdstring

Existing reply profile ID. Mutually exclusive with replyTo.

namestring

Updated sequence name.

trigger'contact_added' | 'tag_added' | 'segment_entered' | 'event_received' | 'inbound_webhook' | 'inactivity' | 'frequency'
listIdstring

List ID for a replacement contact_added trigger.

tagNamestring

Tag name for a replacement tag_added trigger.

segmentIdstring

Segment ID for a replacement segment_entered trigger.

stopOnSegmentExitboolean

Stop active enrollments when a contact leaves the replacement trigger segment.

eventNamestring

Event name for event_received, inbound_webhook, inactivity, or frequency triggers.

integrationSlugstring

Catalog integration slug for an inbound_webhook trigger.

integrationEventKeystring

Catalog event key for an inbound_webhook trigger.

customIntegrationobject

Custom integration descriptor for an inbound_webhook trigger.

inactiveDaysnumber
inactivityBaseline'sequence_created_at' | 'subscriber_created_at'
minCountnumber
timeWindowDaysnumber
enrollmentPausedboolean

Set true to stop new enrollments for an active sequence while current recipients continue. Set false to resume new enrollments.

confirmStructuralChangeboolean

Required when inserting steps or branches, or editing the graph of an active sequence. Set true only after confirming the live-flow impact for current and future recipients.

confirmLiveChangeboolean

Required for trigger replacement or nodeUpdates on an active sequence. Set true only after confirming that the edits can affect recipients who reach those nodes in the future.

enrollmentMode'unlimited' | 'one_time' | 'matching_field'

Controls sequence re-entry. unlimited allows re-entry after completion but prevents concurrent active runs. one_time allows one enrollment ever. matching_field is only valid for event-triggered sequences and allows concurrent active runs only when the trigger payload resolves to a different event field value.

enrollmentFieldPathstring nullable

Scalar dot-path event property used by matching_field enrollment on event_received and inbound_webhook sequences. Array traversal with [] is not supported; use propertyFilters for array matching. Set to null to use built-in defaults.

bccEmailsstring[] nullable

Email addresses that receive a blind copy of every email this sequence sends, such as a customer support inbox (max 10). Set to null to remove them.

Example request

{
  "name": "Updated Welcome Sequence",
  "propertyFilters": [
    {
      "path": "lineItems[].providerProductId",
      "operator": "equals"
    }
  ],
  "enrollmentPaused": true,
  "confirmStructuralChange": true,
  "confirmLiveChange": true,
  "enrollmentFieldPath": "order.id",
  "sendingWindow": {
    "enabled": true,
    "timezone": "Europe/Kiev",
    "startTime": "08:00",
    "endTime": "20:00",
    "days": [
      "monday",
      "tuesday",
      "wednesday",
      "thursday",
      "friday"
    ]
  },
  "bccEmails": [
    "cs-team@example.com",
    "founder@example.com"
  ],
  "stopCondition": {
    "value": "saas.purchase"
  },
  "branch": {
    "afterNodeId": "node_trigger",
    "label": "Branching",
    "branches": [
      {
        "id": "branch-0",
        "label": "Has activated tag",
        "conditionType": "has_tag",
        "tagId": "activated",
        "tagName": "activated",
        "listId": "list_abc123",
        "segmentId": "seg_abc123",
        "segmentName": "Project invite recipients",
        "eventName": "project.invite.accepted",
        "linkUrl": "project-invites",
        "activityScope": "this_sequence",
        "fieldName": "plan",
        "fieldValue": "pro",
        "targetNodeId": "node_sequence_complete",
        "steps": [
          {
            "type": "email",
            "subject": "Can you refer us?",
            "text": "Hey {{FIRST_NAME}}, your order shipped!",
            "label": "Shipping text",
            "blocks": [
              {
                "id": "block_123",
                "type": "html",
                "content": "<h1>Hello</h1>",
                "styles": {
                  "backgroundColor": "#f8fafc",
                  "backgroundOpacity": 80,
                  "textColor": "#111827",
                  "borderRadius": 12,
                  "borderColor": "#cbd5e1",
                  "borderWidth": 1
                },
                "conditions": [
                  {
                    "id": "c1",
                    "value": "plan:pro"
                  }
                ]
              }
            ],
            "html": "<p>Can you refer us?</p>",
            "delay": {
              "mode": "until_date",
              "days": 1,
              "hours": 2,
              "minutes": 30,
              "untilDateField": "renews_at",
              "field": "event.subscription.renews_at",
              "untilOffsetDirection": "before",
              "direction": "before",
              "untilMissingAction": "exit",
              "missingAction": "exit"
            },
            "waitUntil": {
              "field": "renews_at",
              "untilDateField": "event.subscription.renews_at",
              "offset": {
                "days": 1,
                "hours": 2,
                "minutes": 30
              },
              "days": 1,
              "hours": 2,
              "minutes": 30,
              "direction": "before",
              "untilOffsetDirection": "before",
              "missingAction": "exit",
              "untilMissingAction": "exit"
            },
            "delayMs": 86400000
          }
        ]
      }
    ],
    "elseSteps": [
      {
        "type": "email",
        "subject": "Can you refer us?",
        "text": "Hey {{FIRST_NAME}}, your order shipped!",
        "label": "Shipping text",
        "blocks": [
          {
            "id": "block_123",
            "type": "html",
            "content": "<h1>Hello</h1>",
            "styles": {
              "backgroundColor": "#f8fafc",
              "backgroundOpacity": 80,
              "textColor": "#111827",
              "borderRadius": 12,
              "borderColor": "#cbd5e1",
              "borderWidth": 1
            },
            "conditions": [
              {
                "id": "c1",
                "value": "plan:pro"
              }
            ]
          }
        ],
        "html": "<p>Can you refer us?</p>",
        "delay": {
          "mode": "until_date",
          "days": 1,
          "hours": 2,
          "minutes": 30,
          "untilDateField": "renews_at",
          "field": "event.subscription.renews_at",
          "untilOffsetDirection": "before",
          "direction": "before",
          "untilMissingAction": "exit",
          "missingAction": "exit"
        },
        "waitUntil": {
          "field": "renews_at",
          "untilDateField": "event.subscription.renews_at",
          "offset": {
            "days": 1,
            "hours": 2,
            "minutes": 30
          },
          "days": 1,
          "hours": 2,
          "minutes": 30,
          "direction": "before",
          "untilOffsetDirection": "before",
          "missingAction": "exit",
          "untilMissingAction": "exit"
        },
        "delayMs": 86400000
      }
    ],
    "elseTargetNodeId": "node_follow_up"
  },
  "insertSteps": {
    "afterNodeId": "node_migration_email",
    "steps": [
      {
        "type": "email",
        "subject": "Can you refer us?",
        "text": "Hey {{FIRST_NAME}}, your order shipped!",
        "label": "Shipping text",
        "blocks": [
          {
            "id": "block_123",
            "type": "html",
            "content": "<h1>Hello</h1>",
            "styles": {
              "backgroundColor": "#f8fafc",
              "backgroundOpacity": 80,
              "textColor": "#111827",
              "borderRadius": 12,
              "borderColor": "#cbd5e1",
              "borderWidth": 1
            },
            "conditions": [
              {
                "id": "c1",
                "value": "plan:pro"
              }
            ]
          }
        ],
        "html": "<p>Can you refer us?</p>",
        "delay": {
          "mode": "until_date",
          "days": 1,
          "hours": 2,
          "minutes": 30,
          "untilDateField": "renews_at",
          "field": "event.subscription.renews_at",
          "untilOffsetDirection": "before",
          "direction": "before",
          "untilMissingAction": "exit",
          "missingAction": "exit"
        },
        "waitUntil": {
          "field": "renews_at",
          "untilDateField": "event.subscription.renews_at",
          "offset": {
            "days": 1,
            "hours": 2,
            "minutes": 30
          },
          "days": 1,
          "hours": 2,
          "minutes": 30,
          "direction": "before",
          "untilOffsetDirection": "before",
          "missingAction": "exit",
          "untilMissingAction": "exit"
        },
        "delayMs": 86400000
      }
    ]
  },
  "graphEdit": {
    "expectedRevision": "75afbbfe05c1a96dc4f167eecc80b14113a3b76b47fb1b193492ddcd2b1d3e21",
    "edges": [
      {
        "sourceNodeId": "node_trigger",
        "targetNodeId": "node_welcome_email",
        "condition": {
          "branchId": "branch-0"
        }
      }
    ]
  },
  "nodeUpdates": [
    {
      "nodeId": "node_abc123",
      "expectedUpdatedAt": "2026-07-17T10:00:00.000Z"
    }
  ],
  "emails": [
    {
      "emailId": "email_abc123",
      "nodeId": "node_abc123",
      "name": "Welcome Sequence - Email 1",
      "subject": "Welcome to Acme",
      "previewText": "Start here",
      "attachments": [
        {
          "filename": "guide.pdf",
          "path": "https://example.com/files/guide.pdf"
        }
      ],
      "emailPreset": "minimal",
      "blocks": [
        {
          "id": "block_123",
          "type": "html",
          "content": "<h1>Hello</h1>",
          "styles": {
            "backgroundColor": "#f8fafc",
            "backgroundOpacity": 80,
            "textColor": "#111827",
            "borderRadius": 12,
            "borderColor": "#cbd5e1",
            "borderWidth": 1
          },
          "conditions": [
            {
              "id": "c1",
              "value": "plan:pro"
            }
          ]
        }
      ],
      "html": "<p>Updated body</p>",
      "htmlContent": "<p>Updated body</p>",
      "senderProfileId": "sender_abc123",
      "fromName": "Michael from Acme",
      "replyProfileId": "reply_abc123"
    }
  ],
  "steps": [
    {
      "emailId": "email_abc123",
      "nodeId": "node_abc123",
      "name": "Welcome Sequence - Email 1",
      "subject": "Welcome to Acme",
      "previewText": "Start here",
      "attachments": [
        {
          "filename": "guide.pdf",
          "path": "https://example.com/files/guide.pdf"
        }
      ],
      "emailPreset": "minimal",
      "blocks": [
        {
          "id": "block_123",
          "type": "html",
          "content": "<h1>Hello</h1>",
          "styles": {
            "backgroundColor": "#f8fafc",
            "backgroundOpacity": 80,
            "textColor": "#111827",
            "borderRadius": 12,
            "borderColor": "#cbd5e1",
            "borderWidth": 1
          },
          "conditions": [
            {
              "id": "c1",
              "value": "plan:pro"
            }
          ]
        }
      ],
      "html": "<p>Updated body</p>",
      "htmlContent": "<p>Updated body</p>",
      "senderProfileId": "sender_abc123",
      "fromName": "Michael from Acme",
      "replyProfileId": "reply_abc123"
    }
  ],
  "smsSteps": [
    {
      "nodeId": "node_sms123",
      "text": "Hey {{FIRST_NAME}}, your order shipped!",
      "label": "Shipping text"
    }
  ]
}

Response

Sequence updated successfully

successboolean

Example response

{
  "success": true,
  "sequence": {
    "id": "seq_abc123",
    "name": "Updated Welcome Sequence",
    "enrollmentPaused": true,
    "updatedEmailCount": 1,
    "updatedSmsStepCount": 1,
    "updatedSubscriberStepCount": 1,
    "stopCondition": {
      "value": "saas.purchase"
    },
    "sendingWindow": {
      "enabled": true,
      "timezone": "Europe/Kiev",
      "startTime": "08:00",
      "endTime": "20:00",
      "days": [
        "monday",
        "tuesday",
        "wednesday",
        "thursday",
        "friday"
      ]
    },
    "bccEmails": [
      "cs-team@example.com"
    ],
    "addedBranchNodeId": "node_branch",
    "addedBranchPathNodeIds": {
      "branch-0": [
        "node_if_delay",
        "node_if_email"
      ],
      "else": [
        "node_else_email"
      ]
    },
    "insertedNodeIds": [
      "node_inserted_email"
    ],
    "insertedEmailIds": [
      "email_inserted"
    ],
    "insertedEmailCount": 1,
    "replacedEdgeCount": 2,
    "graphRevision": "75afbbfe05c1a96dc4f167eecc80b14113a3b76b47fb1b193492ddcd2b1d3e21",
    "migratedRecipientCount": 3
  }
}

Changes