Update a segment
Update a segment in place; the slug is permanent. Changing the filter doesn’t re-evaluate membership until the next evaluation.
curl --request PATCH \
--url https://www.useboom.ai/api/v1/segments/{slug} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"dailyEvaluationHour": 11,
"skipWeekendEvaluation": true,
"outputColumns": {
"person": {
"columns": [],
"attributes": [
"<string>"
]
},
"customObjects": [
{
"typeName": "<string>",
"attributes": [
"<string>"
]
}
],
"computed": [
"<string>"
]
}
}
'import requests
url = "https://www.useboom.ai/api/v1/segments/{slug}"
payload = {
"name": "<string>",
"description": "<string>",
"dailyEvaluationHour": 11,
"skipWeekendEvaluation": True,
"outputColumns": {
"person": {
"columns": [],
"attributes": ["<string>"]
},
"customObjects": [
{
"typeName": "<string>",
"attributes": ["<string>"]
}
],
"computed": ["<string>"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
dailyEvaluationHour: 11,
skipWeekendEvaluation: true,
outputColumns: {
person: {columns: [], attributes: ['<string>']},
customObjects: [{typeName: '<string>', attributes: ['<string>']}],
computed: ['<string>']
}
})
};
fetch('https://www.useboom.ai/api/v1/segments/{slug}', 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/segments/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'dailyEvaluationHour' => 11,
'skipWeekendEvaluation' => true,
'outputColumns' => [
'person' => [
'columns' => [
],
'attributes' => [
'<string>'
]
],
'customObjects' => [
[
'typeName' => '<string>',
'attributes' => [
'<string>'
]
]
],
'computed' => [
'<string>'
]
]
]),
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/segments/{slug}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"dailyEvaluationHour\": 11,\n \"skipWeekendEvaluation\": true,\n \"outputColumns\": {\n \"person\": {\n \"columns\": [],\n \"attributes\": [\n \"<string>\"\n ]\n },\n \"customObjects\": [\n {\n \"typeName\": \"<string>\",\n \"attributes\": [\n \"<string>\"\n ]\n }\n ],\n \"computed\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://www.useboom.ai/api/v1/segments/{slug}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"dailyEvaluationHour\": 11,\n \"skipWeekendEvaluation\": true,\n \"outputColumns\": {\n \"person\": {\n \"columns\": [],\n \"attributes\": [\n \"<string>\"\n ]\n },\n \"customObjects\": [\n {\n \"typeName\": \"<string>\",\n \"attributes\": [\n \"<string>\"\n ]\n }\n ],\n \"computed\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.useboom.ai/api/v1/segments/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"dailyEvaluationHour\": 11,\n \"skipWeekendEvaluation\": true,\n \"outputColumns\": {\n \"person\": {\n \"columns\": [],\n \"attributes\": [\n \"<string>\"\n ]\n },\n \"customObjects\": [\n {\n \"typeName\": \"<string>\",\n \"attributes\": [\n \"<string>\"\n ]\n }\n ],\n \"computed\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"memberCount": 0,
"lastEvaluatedAt": "<string>",
"createdAt": "<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
The segment slug, as returned by segments_list.
1Body
Display name.
1 - 1201024The audience filter: a tree of predicates over person attributes, related data, and events. Discover valid attr tokens and operators with segments_catalog (GET /api/v1/segments/catalog).
Show child attributes
Show child attributes
How often the segment re-evaluates.
REACTIVE_ONLY, HOURLY, DAILY For DAILY cadence: the hour (0-23, in your organization timezone) the segment evaluates. Set null to clear.
0 <= x <= 23When true, the segment is not evaluated on weekends.
Optional extra columns to project for each member when the segment feeds downstream automations.
Show child attributes
Show child attributes
Response
Success
Unique identifier within your organization.
How often the segment is re-evaluated. REACTIVE_ONLY segments only change when evaluated explicitly.
REACTIVE_ONLY, HOURLY, DAILY Live count of currently active members.
-9007199254740991 <= x <= 9007199254740991ISO 8601 timestamp; null if the segment has never evaluated.
ISO 8601 timestamp.
Was this page helpful?
curl --request PATCH \
--url https://www.useboom.ai/api/v1/segments/{slug} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"description": "<string>",
"dailyEvaluationHour": 11,
"skipWeekendEvaluation": true,
"outputColumns": {
"person": {
"columns": [],
"attributes": [
"<string>"
]
},
"customObjects": [
{
"typeName": "<string>",
"attributes": [
"<string>"
]
}
],
"computed": [
"<string>"
]
}
}
'import requests
url = "https://www.useboom.ai/api/v1/segments/{slug}"
payload = {
"name": "<string>",
"description": "<string>",
"dailyEvaluationHour": 11,
"skipWeekendEvaluation": True,
"outputColumns": {
"person": {
"columns": [],
"attributes": ["<string>"]
},
"customObjects": [
{
"typeName": "<string>",
"attributes": ["<string>"]
}
],
"computed": ["<string>"]
}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
description: '<string>',
dailyEvaluationHour: 11,
skipWeekendEvaluation: true,
outputColumns: {
person: {columns: [], attributes: ['<string>']},
customObjects: [{typeName: '<string>', attributes: ['<string>']}],
computed: ['<string>']
}
})
};
fetch('https://www.useboom.ai/api/v1/segments/{slug}', 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/segments/{slug}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'description' => '<string>',
'dailyEvaluationHour' => 11,
'skipWeekendEvaluation' => true,
'outputColumns' => [
'person' => [
'columns' => [
],
'attributes' => [
'<string>'
]
],
'customObjects' => [
[
'typeName' => '<string>',
'attributes' => [
'<string>'
]
]
],
'computed' => [
'<string>'
]
]
]),
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/segments/{slug}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"dailyEvaluationHour\": 11,\n \"skipWeekendEvaluation\": true,\n \"outputColumns\": {\n \"person\": {\n \"columns\": [],\n \"attributes\": [\n \"<string>\"\n ]\n },\n \"customObjects\": [\n {\n \"typeName\": \"<string>\",\n \"attributes\": [\n \"<string>\"\n ]\n }\n ],\n \"computed\": [\n \"<string>\"\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://www.useboom.ai/api/v1/segments/{slug}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"dailyEvaluationHour\": 11,\n \"skipWeekendEvaluation\": true,\n \"outputColumns\": {\n \"person\": {\n \"columns\": [],\n \"attributes\": [\n \"<string>\"\n ]\n },\n \"customObjects\": [\n {\n \"typeName\": \"<string>\",\n \"attributes\": [\n \"<string>\"\n ]\n }\n ],\n \"computed\": [\n \"<string>\"\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.useboom.ai/api/v1/segments/{slug}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"dailyEvaluationHour\": 11,\n \"skipWeekendEvaluation\": true,\n \"outputColumns\": {\n \"person\": {\n \"columns\": [],\n \"attributes\": [\n \"<string>\"\n ]\n },\n \"customObjects\": [\n {\n \"typeName\": \"<string>\",\n \"attributes\": [\n \"<string>\"\n ]\n }\n ],\n \"computed\": [\n \"<string>\"\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"slug": "<string>",
"name": "<string>",
"description": "<string>",
"memberCount": 0,
"lastEvaluatedAt": "<string>",
"createdAt": "<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>"
}
}