v101

latestOpenAPI 3.1.0raw.githubusercontent.com2026-08-08235133843.7 KB
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 recipients see, e.g. 'Brennon at TradeTally'. Selects the sender identity of that name on fromEmail, creating it when the address has no identity by that name; the mailbox's other display names, and everything pinned to them, are untouched. Requires fromEmail; omit it when using senderProfileId, which already carries its own display name.

senderProfileIdstring

Existing sender profile ID. It already supplies both the From address and display name, so send it on its own and omit fromEmail and fromName.

replyTostring email

Reply-To address for every email in this sequence.

replyToNamestring

Display name for the Reply-To address. Requires replyTo; omit it when using replyProfileId, which already carries its own display name. An address carries one Reply-To name company-wide, so if replyTo already has a saved profile under a different name, that saved name is kept and the response warnings array says so.

replyProfileIdstring

Existing reply profile ID. It already supplies both the Reply-To address and display name, so send it on its own and omit replyTo and replyToName.

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
warningsstring[]

Non-blocking advisories about a successful write. Present when an input was discarded or did not take effect as requested. This includes block fields that do not render as their names suggest, sequence email-step formatting restored on top of submitted blocks, and sender-identity conflicts such as a replyToName that differs from the saved profile. Each message identifies the affected input and gives recovery guidance. Absent when there is nothing to report.

Example response

{
  "success": true,
  "warnings": [
    "blocks[0].styles.color is not a supported field and was ignored. Button label color comes from the block-level `buttonTextColor` field. Supported styles fields: backgroundColor, backgroundOpacity, bleed, borderColor, borderRadius, borderWidth, paddingBottom, paddingLeft, paddingRight, paddingTop, textAlign, textColor."
  ],
  "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
  }
}