Skip to Content

Replace a journey draft

Replaces the draft definition and returns the journey with a new revision.

PUT
/v1/journeys/{id}/draft

Replaces the draft definition and returns the journey with a new revision. The request names the revision it read; a stale revision returns 409. Published versions and the runs on them do not change.

Authorization

apiKey
headerx-api-key<token>

Path Parameters

id*string
Match^jrny_[0-9a-hjkmnp-tv-z]{16,24}$

Request Body

application/json
  1. body
revision*string
Length1 <= length
definition*

Response Body

Journey

application/json
  1. response
id*JourneyId
Match^jrny_[0-9a-hjkmnp-tv-z]{16,24}$
name*string
status*JourneyStatus
Value in"draft""active""paused""archived"
revision*string
draft*
publishedVersion*|null
publishedAt*string|null
createdAt*string
updatedAt*string
Example Request
import { createClient } from "samva";

const samva = createClient({ apiKey: process.env.SAMVA_API_KEY! });

const result = await samva.journeys.replaceDraft({
  "id": "example",
  "revision": "example",
  "definition": {
    "trigger": {
      "type": "event",
      "eventName": "example"
    },
    "rootNodeId": "example",
    "nodes": {}
  }
});
Example Response
{
  "id": "string",
  "name": "string",
  "status": "draft",
  "revision": "string",
  "draft": {
    "trigger": {
      "type": "event",
      "eventName": "string"
    },
    "rootNodeId": "string",
    "nodes": {
      "property1": {
        "type": "send_email",
        "config": {
          "template": "string",
          "senderId": "string",
          "templateData": {
            "property1": "string",
            "property2": "string"
          }
        },
        "next": [
          {
            "nodeId": "string"
          }
        ]
      },
      "property2": {
        "type": "send_email",
        "config": {
          "template": "string",
          "senderId": "string",
          "templateData": {
            "property1": "string",
            "property2": "string"
          }
        },
        "next": [
          {
            "nodeId": "string"
          }
        ]
      }
    },
    "goal": {
      "eventName": "string"
    },
    "reentry": true
  },
  "publishedVersion": -9007199254740991,
  "publishedAt": "string",
  "createdAt": "string",
  "updatedAt": "string"
}

Related documentation