Register a segment

Registers an external segment on the integration.

Send the segment display name (e.g. Tier Gold). Optionally send external_url (a link to this segment on your platform) and set the segment lifetime via expiration or permanent. Bloomreach returns a server-generated id and bloomreach_url (a link to this segment in Marketing, for example in your admin UI or audit logs).

URLs

  • external_url (request, optional): deep link on your platform. When provided, Bloomreach uses it in the UI so users can open the segment in your system.
  • bloomreach_url (response, server-generated): deep link in Marketing for this registered segment. Your systems can store or display it so users can open the segment in Bloomreach.

Expiration

Segment lifetime is determined as follows (mutually exclusive: do not send both expiration and permanent: true):

  • permanent: true: the segment does not expire; expiration must not be sent
  • expiration omitted and permanent not set: expiration defaults to 30 days from registration; the computed timestamp is returned in the 201 response
  • expiration provided: Unix timestamp in seconds when the segment registration expires; must be a positive integer greater than the request time

The expiration returned in the 201 response reflects the value at registration time. It may be changed later in Marketing. Do not treat it as the source of truth for when to stop membership updates. Continue sending updates until the API returns segment_expired.

Sending both expiration and permanent: true returns 400 Bad Request.

⚠️

Important

Expiration isn't enforced: Marketing doesn't automatically enforce the expiration value. You need to manually delete the properties that store external segment information.

Segment name

Send the segment display name as used in your system. Bloomreach normalizes it before registration. If the input contains a zero byte, dot (.), or dollar sign ($), each occurrence is replaced with __ as part of that normalization. You do not need to strip or escape these characters before sending the request. Different display names can normalize to the same value and return 409 Conflict.

If the name is not valid after normalization (for example whitespace-only, empty after normalization, or not accepted as a segment identifier in Marketing), the API returns 400 Bad Request with invalid_segment_name.

If a segment with the same normalized name is already registered on this integration, the API returns 409 Conflict. This duplicate-name check is a temporary restriction and may be relaxed in a future API version.

Call this endpoint before pushing membership updates for a new segment.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
uuid
required

Integration identifier embedded in the endpoint URL provided at setup

Body Params
string
required
length between 1 and 256

Segment display name (e.g. Tier Gold) as used in your system. Bloomreach normalizes the name before registration, including replacing zero byte, dot (.), and dollar sign ($) with __; you do not need to pre-process those characters. Returns 400 with invalid_segment_name when the name is not valid after normalization.

Set lifetime via optional expiration or permanent (mutually exclusive). If neither is sent, expiration defaults to 30 days from registration.

If the normalized name is already registered on the integration, the request fails with 409 Conflict.

The normalized name must not exceed 243 characters: it becomes the Bloomreach customer property ext_segment_<normalized name>, and that property name is limited to 255 characters. A longer name returns 400 with invalid_request.

uri
length ≤ 2048

HTTP or HTTPS deep link to this segment on the partner platform. Optional on segment registration. When provided in the request, echoed in the 201 response; omitted from the response when not sent.

int64
1 to 999999999999

Unix timestamp in seconds when the segment registration expires. Optional on segment creation; mutually exclusive with permanent: true.

When omitted and permanent is not set, the server applies a 30-day default from registration time. When provided, must be a positive integer in the future at registration time. Values above 999999999999 are rejected (typically indicates a millisecond timestamp sent by mistake).

May be changed later in Marketing; do not use it as the source of truth for stopping membership updates.

boolean

When true, the segment never expires. Mutually exclusive with expiration. Must not be sent together with expiration.

Responses

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json

© Bloomreach, Inc. All rights reserved.