Update Node
Email Steps
Update Node
Patch a single sequence node’s content — subject, body, delays, or AI extension. Draft campaigns only.
PUT
Update Node
CLI:
AI extension fields are silently ignored unless the existing node
Overview
Partial update of a single sequence node. Only fields present in the body are applied. Draft campaigns only — on any other status the server returns400 without writing.
Immutable fields:
type— to change a node’s kind, delete it and add a new one withaddSequenceNode.position— to reorder, use thePATCHverb on the collection (moveSequenceNode).campaign_id— set at creation.
Editable fields by node type
| Field | Applies to |
|---|---|
subject | email |
body | connection_request, message, email |
include_message | connection_request |
is_reply | email |
delay_days / delay_hours | delay |
ai_node.purpose / ai_node.output_type | ai |
type === "ai". If the extension row doesn’t exist yet, the server creates it; otherwise it’s updated in place.
Related operations
- Add a sequence node —
POSTto insert a new node. - Delete a sequence node —
DELETEthe collection with{ nodeId }to remove. - Get a campaign — returns
sequence_nodesin ordered form.
AI agent notes
Two-step AI node setup. After
addSequenceNode with { type: "ai" }, immediately PUT the same node with ai_node: { purpose, output_type } to populate the extension row. The builder UI does this in one motion; agents should do the same.Delay validation happens at launch. This endpoint does not enforce the “total delay must be 1 minute to 30 days” rule — that’s checked when you call POST /api/campaigns/{id}/launch. Read the campaign before launch and make sure the full draft sequence is intentional.Read-after-write. The response includes the fully-refreshed node with its AI extension flattened into node.ai_node. No separate GET needed.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
Required range:
0 <= x <= 9007199254740991Required range:
0 <= x <= 9007199254740991Required range:
0 <= x <= 9007199254740991Response
Node updated successfully.