Journeys
Stop journey
Retire a live journey: no one else is enrolled, and anyone already enrolled who has not been messaged yet is dropped before their message goes out. Conversations already in progress continue normally. Requires confirm: true. This cannot be undone — re-running the campaign means publishing again.
POST
/
api
/
v1
/
journeys
/
{journeyId}
/
stop
Stop journey
curl --request POST \
--url https://www.useboom.ai/api/v1/journeys/{journeyId}/stop \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirm": false
}
'import requests
url = "https://www.useboom.ai/api/v1/journeys/{journeyId}/stop"
payload = { "confirm": False }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirm: false})
};
fetch('https://www.useboom.ai/api/v1/journeys/{journeyId}/stop', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.useboom.ai/api/v1/journeys/{journeyId}/stop",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'confirm' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.useboom.ai/api/v1/journeys/{journeyId}/stop"
payload := strings.NewReader("{\n \"confirm\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.useboom.ai/api/v1/journeys/{journeyId}/stop")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirm\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.useboom.ai/api/v1/journeys/{journeyId}/stop")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirm\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"initiativeId": "<string>",
"version": 0,
"definition": {
"name": "<string>",
"actions": [
{
"id": "<string>",
"kind": "ENTRY",
"name": "<string>",
"position": {
"x": 123,
"y": 123
},
"inputs": {
"description": "<string>",
"segmentId": "<string>",
"segmentName": "<string>",
"eventName": "<string>",
"inboundAction": "WHATSAPP_MESSAGE",
"inboundChannelIds": [
"<string>"
],
"maxEnrollments": 4503599627370496,
"enrollmentWindow": "<string>"
}
}
],
"edges": [
{
"from": "<string>",
"to": "<string>",
"sourceHandle": "<string>",
"metadata": {
"signalDescription": "<string>"
}
}
],
"id": "<string>",
"metadata": {
"initiativeType": "<string>",
"version": 0,
"cancelOnEvents": {
"eventNames": [
"<string>"
]
},
"environmentId": "<string>"
}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Organization API key, sent as Authorization: Bearer boom_org_....
Path Parameters
A published journey id, or the initiative id (resolves to its live journey).
Minimum string length:
1Body
application/json
Must be true to stop. Stopping halts customer outreach.
Response
Success
Journey (workflow version) id.
The initiative this journey belongs to.
DRAFT (editable), PUBLISHED (live, frozen), or STOPPED (retired).
Available options:
DRAFT, PUBLISHED, STOPPED Version number within the initiative.
Required range:
-9007199254740991 <= x <= 9007199254740991The full journey graph.
Show child attributes
Show child attributes
Was this page helpful?
⌘I
Stop journey
curl --request POST \
--url https://www.useboom.ai/api/v1/journeys/{journeyId}/stop \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"confirm": false
}
'import requests
url = "https://www.useboom.ai/api/v1/journeys/{journeyId}/stop"
payload = { "confirm": False }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({confirm: false})
};
fetch('https://www.useboom.ai/api/v1/journeys/{journeyId}/stop', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://www.useboom.ai/api/v1/journeys/{journeyId}/stop",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'confirm' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://www.useboom.ai/api/v1/journeys/{journeyId}/stop"
payload := strings.NewReader("{\n \"confirm\": false\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://www.useboom.ai/api/v1/journeys/{journeyId}/stop")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"confirm\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.useboom.ai/api/v1/journeys/{journeyId}/stop")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"confirm\": false\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"initiativeId": "<string>",
"version": 0,
"definition": {
"name": "<string>",
"actions": [
{
"id": "<string>",
"kind": "ENTRY",
"name": "<string>",
"position": {
"x": 123,
"y": 123
},
"inputs": {
"description": "<string>",
"segmentId": "<string>",
"segmentName": "<string>",
"eventName": "<string>",
"inboundAction": "WHATSAPP_MESSAGE",
"inboundChannelIds": [
"<string>"
],
"maxEnrollments": 4503599627370496,
"enrollmentWindow": "<string>"
}
}
],
"edges": [
{
"from": "<string>",
"to": "<string>",
"sourceHandle": "<string>",
"metadata": {
"signalDescription": "<string>"
}
}
],
"id": "<string>",
"metadata": {
"initiativeType": "<string>",
"version": 0,
"cancelOnEvents": {
"eventNames": [
"<string>"
]
},
"environmentId": "<string>"
}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}