Skip to main content
PUT
/
journeys
/
{templateId}
JavaScript
import Courier from '@trycourier/courier';

const client = new Courier({
  apiKey: process.env['COURIER_API_KEY'], // This is the default and can be omitted
});

const journeyResponse = await client.journeys.replace('x', {
  name: 'Welcome Journey v2',
  nodes: [],
  enabled: true,
  state: 'DRAFT',
});

console.log(journeyResponse.id);
{
  "id": "abc-123",
  "name": "Welcome Journey v2",
  "state": "DRAFT",
  "enabled": true,
  "nodes": [],
  "created": 1715000000000,
  "creator": "user-1",
  "updated": 1715000300000,
  "updater": "user-1",
  "published": 1715000200000
}

Documentation Index

Fetch the complete documentation index at: https://www.courier.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

templateId
string
required

Journey id

Minimum string length: 1

Body

application/json

Request body for creating a journey.

name
string
required
Minimum string length: 1
nodes
(API Invoke Trigger · object | Segment Trigger · object | Send · object | Delay for Duration · object | Delay Until · object | Fetch (GET/DELETE) · object | Fetch (POST/PUT) · object | AI · object | Throttle (Static) · object | Throttle (Dynamic) · object | Exit · object | JourneyBranchNode · object)[]
required
Minimum array length: 1

A single node in a journey DAG. Discriminated by type, with a secondary discriminator on some variants (trigger_type for trigger, mode for delay, method for fetch, scope for throttle).

enabled
boolean
state
enum<string>

Lifecycle state of a journey.

Available options:
DRAFT,
PUBLISHED

Response

Updated journey

A journey, with its current draft or published nodes and metadata.

id
string
required
name
string
required
state
enum<string>
required

Lifecycle state of a journey.

Available options:
DRAFT,
PUBLISHED
enabled
boolean
required
nodes
(API Invoke Trigger · object | Segment Trigger · object | Send · object | Delay for Duration · object | Delay Until · object | Fetch (GET/DELETE) · object | Fetch (POST/PUT) · object | AI · object | Throttle (Static) · object | Throttle (Dynamic) · object | Exit · object | JourneyBranchNode · object)[]
required

A single node in a journey DAG. Discriminated by type, with a secondary discriminator on some variants (trigger_type for trigger, mode for delay, method for fetch, scope for throttle).

created
integer<int64> | null
required
creator
string | null
required
updated
integer<int64> | null
required
updater
string | null
required
published
integer<int64> | null
required