Segments
Manage segments
Retrieves all customer segments.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$A standard query parameter is used to search for specific values.
The number of documents to be retrieved per page.
The page number to be retrieved. The size of the pages should be specified by the pageSize parameter.
List of properties used to sort the results, separated by colons.
Fields to be returned in the response.
The parameter is utilized for searching in relation to the legalEntityId. Parameter is only taken into account when customer is assigned to more than one Legal Entity.
The parameter is utilized for retrieving customer segments for a provided customer.
NOTE: This parameter can only be used with customersegment.segment_read scope.
Flag indicating whether the total number of retrieved results should be returned.
The Accept-Language request HTTP header defines which languages the client is able to understand, and which locale variant is preferred. If empty, the default system language is assumed. It can be a priority list working as a fallback mechanism.
Customer segments were successfully retrieved.
Unique identifier of the customer segment.
Determines whether the customer segment is active or not. If not provided the value is set to INACTIVE
Determines for which site the customer segment is available.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
GET /customer-segment/{tenant}/segments HTTP/1.1
Host: api.emporix.io
Accept: */*
[
{
"id": "628cd20c6e8b2432b6346ca6",
"name": {
"en": "Golden Segment"
},
"description": {
"en": "Golden Segment"
},
"validity": {
"from": "2024-04-17T08:00:00.000Z",
"to": "2025-04-17T08:00:00.000Z"
},
"status": "ACTIVE",
"siteCode": "main",
"metadata": {
"createdAt": "2024-05-14T12:00:00.000Z",
"modifiedAt": "2024-05-14T12:00:00.000Z",
"version": 1
}
},
{
"id": "61ge81e13562e22001h6cf456",
"name": {
"en": "Platinum Segment"
},
"description": {
"en": "Platinum Segment"
},
"validity": {
"from": "2024-07-20T08:00:00.000Z",
"to": "2025-07-20T08:00:00.000Z"
},
"status": "INACTIVE",
"siteCode": "main",
"metadata": {
"createdAt": "2024-05-14T12:00:00.000Z",
"modifiedAt": "2024-05-14T12:00:00.000Z",
"version": 1
}
}
]Creates a new customer segment.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$The Content-Language request HTTP header defines language(s) of the payload.
enUnique identifier of the customer segment. It will be auto-generated if not provided.
Determines whether the customer segment is active or not. If not provided the value is set to INACTIVE
Determines for which site the customer segment is available.
Customer segment was successfully created.
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
Conflict
POST /customer-segment/{tenant}/segments HTTP/1.1
Host: api.emporix.io
Content-Type: application/json
Accept: */*
Content-Length: 217
{
"id": "628cd20c6e8b2432b6346ca6",
"name": {
"en": "Golden Segment"
},
"description": {
"en": "Golden Segment"
},
"validity": {
"from": "2024-04-17T08:00:00.000Z",
"to": "2025-04-17T08:00:00.000Z"
},
"status": "ACTIVE",
"siteCode": "main"
}{
"id": "628cd20c6e8b2432b6346ca6"
}Returns all customer segments that match provided criteria.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$The number of documents to be retrieved per page.
The page number to be retrieved. The size of the pages should be specified by the pageSize parameter.
List of properties used to sort the results, separated by colons.
Fields to be returned in the response.
The parameter is utilized for searching in relation to the legalEntityId. Parameter is only taken into account when customer is assigned to more than one Legal Entity.
The parameter is utilized for retrieving customer segments for a provided customer.
NOTE: This parameter can only be used with customersegment.segment_read scope.
Flag indicating whether the total number of retrieved results should be returned.
The Accept-Language request HTTP header defines which languages the client is able to understand, and which locale variant is preferred. If empty, the default system language is assumed. It can be a priority list working as a fallback mechanism.
A standard query parameter is used to search for specific values.
Customer segments were successfully retrieved.
Unique identifier of the customer segment.
Determines whether the customer segment is active or not. If not provided the value is set to INACTIVE
Determines for which site the customer segment is available.
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
POST /customer-segment/{tenant}/segments/search HTTP/1.1
Host: api.emporix.io
Content-Type: application/json
Accept: */*
Content-Length: 21
{
"q": "siteCode:main"
}[
{
"id": "628cd20c6e8b2432b6346ca6",
"name": {
"en": "Golden Segment"
},
"description": {
"en": "Golden Segment"
},
"validity": {
"from": "2024-04-17T08:00:00.000Z",
"to": "2025-04-17T08:00:00.000Z"
},
"status": "ACTIVE",
"siteCode": "main",
"metadata": {
"createdAt": "2024-05-14T12:00:00.000Z",
"modifiedAt": "2024-05-14T12:00:00.000Z",
"version": 1
}
},
{
"id": "61ge81e13562e22001h6cf456",
"name": {
"en": "Platinum Segment"
},
"description": {
"en": "Platinum Segment"
},
"validity": {
"from": "2024-07-20T08:00:00.000Z",
"to": "2025-07-20T08:00:00.000Z"
},
"status": "INACTIVE",
"siteCode": "main",
"metadata": {
"createdAt": "2024-05-14T12:00:00.000Z",
"modifiedAt": "2024-05-14T12:00:00.000Z",
"version": 1
}
}
]Retrieves segment with specified ID.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$Unique identifier of the customer segment.
Fields to be returned in the response.
The parameter is utilized for searching in relation to the legalEntityId. Parameter is only taken into account when customer is assigned to more than one Legal Entity.
The Accept-Language request HTTP header defines which languages the client is able to understand, and which locale variant is preferred. If empty, the default system language is assumed. It can be a priority list working as a fallback mechanism.
Customer segment successfully retrieved.
Unique identifier of the customer segment.
Determines whether the customer segment is active or not. If not provided the value is set to INACTIVE
Determines for which site the customer segment is available.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
Resource not found
GET /customer-segment/{tenant}/segments/{segmentId} HTTP/1.1
Host: api.emporix.io
Accept: */*
{
"id": "628cd20c6e8b2432b6346ca6",
"name": {
"en": "Golden Segment"
},
"description": {
"en": "Golden Segment"
},
"validity": {
"from": "2024-04-17T08:00:00.000Z",
"to": "2025-04-17T08:00:00.000Z"
},
"status": "ACTIVE",
"siteCode": "main",
"metadata": {
"createdAt": "2024-05-14T12:00:00.000Z",
"modifiedAt": "2024-05-14T12:00:00.000Z",
"version": 1
}
}Performs the UPSERT operation. If a segment with specified ID exists in the system, then it is updated. If it doesn't exist, a new customer segment is created.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$Unique identifier of the customer segment.
The Content-Language request HTTP header defines language(s) of the payload.
enDetermines whether the customer segment is active or not. If not provided the value is set to INACTIVE
Determines for which site the customer segment is available.
Customer segment wasn't found. A new customer segment was successfully created.
Customer segment was successfully updated.
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
Conflict
PUT /customer-segment/{tenant}/segments/{segmentId} HTTP/1.1
Host: api.emporix.io
Content-Type: application/json
Accept: */*
Content-Length: 210
{
"name": {
"en": "Golden Segment"
},
"description": {
"en": "Golden Segment"
},
"validity": {
"from": "2024-04-17T08:00:00.000Z",
"to": "2025-04-17T08:00:00.000Z"
},
"status": "ACTIVE",
"siteCode": "main",
"metadata": {
"version": 1
}
}{
"id": "628cd20c6e8b2432b6346ca6"
}Removes segment with specified ID.
Important: If you want to delete a segment that has items or customers assigned to it, you need to set the forceDelete query parameter to true. In this case, all items and customers assignments will be deleted as well.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$Unique identifier of the customer segment.
- If set to
trueand the segment has items or customers assigned to it, both the segment and the segment assignments will be deleted. - If set to
falseor not specified and the segment has items or customers assigned to it, the endpoint will respond with the 400 error.
falseCustomer segment was successfully deleted.
No content
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
DELETE /customer-segment/{tenant}/segments/{segmentId} HTTP/1.1
Host: api.emporix.io
Accept: */*
No content
Performs partial update of a segment.
The patch request consists of set of operation, that should be defined according to RFC-6902 standard.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$Unique identifier of the customer segment.
The Content-Language request HTTP header defines language(s) of the payload.
enIndicates an operation which should be done on a return. Available operations: add remove and replace
Indicates a path for which the value should be applied. For example:/mixins/additionalAttributes/externalId, /name, /status
Indicates a value that should be changed or added. The value can be of a primitive type, like string, number, boolean or it can be an object or an array.
Customer segment was successfully updated.
No content
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
Resource not found
PATCH /customer-segment/{tenant}/segments/{segmentId} HTTP/1.1
Host: api.emporix.io
Content-Type: application/json
Accept: */*
Content-Length: 54
[
{
"op": "replace",
"path": "/status",
"value": "INACTIVE"
}
]No content
Creates multiple customer segments. The maximum batch size is 200.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$The Content-Language request HTTP header defines language(s) of the payload.
enUnique identifier of the customer segment. It will be auto-generated if not provided.
Determines whether the customer segment is active or not. If not provided the value is set to INACTIVE
Determines for which site the customer segment is available.
Multi-status response.
Item's unique identifier.
Index of the processed item, matching the item position in request body.
HTTP Status Code.
HTTP Status description.
Error message.
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
POST /customer-segment/{tenant}/segments/bulk HTTP/1.1
Host: api.emporix.io
Content-Type: application/json
Accept: */*
Content-Length: 444
[
{
"id": "628cd20c6e8b2432b6346ca6",
"name": {
"en": "Golden Segment"
},
"description": {
"en": "Golden Segment"
},
"validity": {
"from": "2024-04-17T08:00:00.000Z",
"to": "2025-04-17T08:00:00.000Z"
},
"status": "ACTIVE",
"siteCode": "main"
},
{
"id": "61ge81e13562e22001h6cf456",
"name": {
"en": "Platinum Segment"
},
"description": {
"en": "Platinum Segment"
},
"validity": {
"from": "2024-07-20T08:00:00.000Z",
"to": "2025-07-20T08:00:00.000Z"
},
"status": "INACTIVE",
"siteCode": "main"
}
][
{
"index": 1,
"id": "628cd20c6e8b2432b6346ca6",
"code": 201,
"status": "Created"
},
{
"index": 2,
"code": 400,
"status": "Bad Request",
"message": "Validation problem with request body."
}
]Performs the UPSERT operation for multiple customer segments. If a segment with specified ID exists in the system, then it is updated. If it doesn't exist, a new customer segment is created.
The maximum batch size is 200.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$The Content-Language request HTTP header defines language(s) of the payload.
enUnique identifier of the customer segment.
Determines whether the customer segment is active or not. If not provided the value is set to INACTIVE
Determines for which site the customer segment is available.
Multi-status response.
Item's unique identifier.
Index of the processed item, matching the item position in request body.
HTTP Status Code.
HTTP Status description.
Error message.
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
PUT /customer-segment/{tenant}/segments/bulk HTTP/1.1
Host: api.emporix.io
Content-Type: application/json
Accept: */*
Content-Length: 494
[
{
"id": "628cd20c6e8b2432b6346ca6",
"name": {
"en": "Golden Segment"
},
"description": {
"en": "Golden Segment"
},
"validity": {
"from": "2024-04-17T08:00:00.000Z",
"to": "2025-04-17T08:00:00.000Z"
},
"status": "ACTIVE",
"siteCode": "main",
"metadata": {
"version": 1
}
},
{
"id": "61ge81e13562e22001h6cf456",
"name": {
"en": "Platinum Segment"
},
"description": {
"en": "Platinum Segment"
},
"validity": {
"from": "2024-07-20T08:00:00.000Z",
"to": "2025-07-20T08:00:00.000Z"
},
"status": "INACTIVE",
"siteCode": "main",
"metadata": {
"version": 2
}
}
][
{
"index": 1,
"id": "628cd20c6e8b2432b6346ca6",
"code": 204,
"status": "OK"
},
{
"index": 2,
"code": 400,
"status": "Bad Request",
"message": "Validation problem with request body."
}
]Removes multiple customer segments. The maximum batch size is 200.
The IDs of customer segments for deletion should be defined in the request body as an array of strings.
Example: ["firstId", "secondId", "thirdId"]
Important: If you want to delete a segment that has items or customers assigned to it, you need to set the forceDelete query parameter to true. In this case, all items and customers assignments will be deleted as well.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$- If set to
trueand the segment has items or customers assigned to it, both the segment and the segment assignments will be deleted. - If set to
falseor not specified and the segment has items or customers assigned to it, the endpoint will respond with the 400 error.
falseMulti-status response.
Item's unique identifier.
Index of the processed item, matching the item position in request body.
HTTP Status Code.
HTTP Status description.
Error message.
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
DELETE /customer-segment/{tenant}/segments/bulk HTTP/1.1
Host: api.emporix.io
Accept: */*
[
{
"index": 1,
"id": "628cd20c6e8b2432b6346ca6",
"code": 204,
"status": "OK"
},
{
"index": 2,
"id": "61ge81e13562e22001h6cf456",
"code": 204,
"status": "OK"
}
]Checks if the provided items match specified criteria - if ids of the products are assigned directly to one of the provided segments or indirectly through the category assignment. Only items assigned to the active segments will be returned.
Your Emporix tenant name.
Note: Always write the tenant name in lowercase.
^[a-z][a-z0-9]+$Id of the products which match criteria.
Id of the product.
Bad request due to validation, incorrect parameters, etc.
Unauthorized
Access forbidden. The caller is not allowed to access this resource.
POST /customer-segment/{tenant}/segments/match HTTP/1.1
Host: api.emporix.io
Content-Type: application/json
Accept: */*
Content-Length: 90
{
"siteCode": "main",
"items": [
{
"id": "p1234"
},
{
"id": "p2345"
}
],
"segmentIds": [
"S1234",
"S2456"
]
}[
{
"id": "p1234"
}
]Last updated
Was this helpful?

