enabledboolean
Whether the journey is active.
journey_idstringобязательный
The journey template ID to update. Copy it exactly, character for character, from the response that returned it — never retype it from memory or reconstruct it.
nodesobject[]обязательный
Complete array of journey nodes: the trigger first, a terminal exit last, and everything else between them. Use server-assigned node ids from get_journey — do NOT invent new ids. Send node example: { type: "send", channel: "email", message: { template: "nt_journey_1" } } — the template goes inside message, never at node level, and the id is a journey-scoped one returned by create_journey_template rather than a workspace template id. Copy that id character-for-character from the create_journey_template or get_journey response you got it from — never retype or reconstruct it from memory, since a single dropped or altered character produces a different, non-existent id and the reference silently fails to resolve. channel must always be set to one of "email", "sms", "push", "inbox", "slack", or "msteams" on every send node — do not omit it even though the field is optional. An unset channel makes Studio silently render the node as email: for sms, push, and inbox sends this means the wrong title, an Email Address field shown instead of the real recipient field, no provider picker, and a hard-blocked "+Create message" button, with nothing shown to warn the user. The stored recipient data is not lost and delivery is not affected — this only breaks how the journey looks and works for a human editing it in Studio. Delay node example: { type: "delay", mode: "duration", duration: "PT1H" }. Branch node example: { type: "branch", paths: [{ conditions: ["data.plan", "is equal", "pro"], nodes: [] }], default: { nodes: [] } } — paths and default are both required, and the key inside a path is "conditions", not "condition".
stateenum
Must be "DRAFT". These tools cannot publish.