Skip to main content
POST
/
journeys
/
{templateId}
/
invoke
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 journeysInvokeResponse = await client.journeys.invoke('templateId', {
  data: { order_id: 'order-456', amount: 99.99 },
  user_id: 'user-123',
});

console.log(journeysInvokeResponse.runId);
{
  "runId": "1-65f240a0-47a6a120c8374de9bcf9f22c"
}

Authorizations

Authorization
string
header
required

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

Path Parameters

templateId
string
required

A unique identifier representing the journey template to be invoked. This could be the Journey Template ID or the Journey Template Alias.

Body

application/json

Request body for invoking a journey. Requires either a user identifier or a profile with contact information. User identifiers can be provided via user_id field, or resolved from profile/data objects (user_id, userId, or anonymousId fields).

user_id
string

A unique identifier for the user. If not provided, the system will attempt to resolve the user identifier from profile or data objects.

profile
object

Profile data for the user. Can contain contact information (email, phone_number), user identifiers (user_id, userId, anonymousId), or any custom profile fields. Profile fields are merged with any existing stored profile for the user. Include context.tenant_id to load a tenant-scoped profile for multi-tenant scenarios.

data
object

Data payload passed to the journey. The expected shape can be predefined using the schema builder in the journey editor. This data is available in journey steps for condition evaluation and template variable interpolation. Can also contain user identifiers (user_id, userId, anonymousId) if not provided elsewhere.

Response

Journey invocation accepted

runId
string
required

A unique identifier for the journey run that was created.