Skip to main content
POST
/
journeys
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.create({
  name: 'Welcome Journey',
  nodes: [
    {
      id: 'trigger-1',
      type: 'trigger',
      trigger_type: 'api',
    },
    { id: 'send-1', type: 'send' },
  ],
  enabled: true,
  state: 'DRAFT',
});

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

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.

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

Journey created

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