Skip to main content
POST
Create a journey

Authorizations

Authorization
string
header
required

Company secret API key.

Headers

X-Woku-Idempotency-Key
string

Client-generated key to make the call safe to retry. A retry with the same key and operation returns the original result instead of acting again. Do not reuse it for new input: retries replay the original body. A different operation returns 422.

Body

application/json
name
string
required
Example:

"Viaje de ventas"

authHeader
string
deprecated
write-only

Legacy body API key. Prefer Authorization: Bearer. Consumed by authentication and never forwarded to journey commands.

authoringVersion
enum<number>

Use 2 for the business-form contract. Existing v1 definitions keep their execution rules.

Available options:
1,
2
startMode
enum<string>

Who starts the first moment. Response means a saved first answer, not opening its link.

Available options:
operator,
response,
webhook
recipients
object
enabled
boolean
default:false

A journey is born switched off. Turn it on when it is ready.

moments
object[]

The moments of the journey. Each creates a woku, CSAT, CES, or NPS from toolSpec. New v2 moments default to shared within that moment; per_enrollment creates one tool per participation. Existing toolRef assignments are rejected. A zero-day afterStage delay means one hour. In v2 only the first moment can be manual. Later moments use webhook or afterStage; independent webhook settings also let a webhook advance a timed moment. fallbackAfterMs is the optional secondary wait for a webhook-primary moment, anchored to fallbackFromStage. Legacy definitions retain their triggers.

Response

Journey created

id
string
required
enabled
boolean
required
version
number
required
moments
object[]
required
webhookSecret
string
required

Legacy journey-wide signature secret, returned once. It is not the per-moment URL token or sender secret.

key
string
name
string
authoringVersion
enum<number>
Available options:
1,
2
startMode
enum<string>
Available options:
operator,
response,
webhook
recipients
object
routing
object
createdAt
string<date-time>
updatedAt
string<date-time>