List personalized offers

Last update: 2023-10-18
  • Created for:
  • Experienced

A personalized offer is a customizable marketing message based on eligibility rules and constraints.

You can view a list of all personalized offers by performing a single GET request to the Offer Library API.

API format

GET /{ENDPOINT_PATH}/offers?offer-type=personalized&{QUERY_PARAMS}
Parameter Description Example
{ENDPOINT_PATH} The endpoint path for persistence APIs.
{QUERY_PARAMS} Optional query parameters to filter results by. limit=2


curl -X GET '' \
-H 'Accept: *,application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-H 'x-api-key: {API_KEY}' \
-H 'x-gw-ims-org-id: {IMS_ORG}' \
-H 'x-sandbox-name: {SANDBOX_NAME}'

Using query parameters

You can use query parameters to page and filter results when listing resources.


The most common query parameters for paging include:

Parameter Description Example
property An optional property filter:
  • The properties are grouped by AND operation.
  • Parameters can be repeated like so: property={PROPERTY_EXPR}[&property={PROPERTY_EXPR2}…] or property={PROPERTY_EXPR1}[,{PROPERTY_EXPR2}…]
  • Property expressions are in format [!]field[op]value, with op in [==,!=,<=,>=,<,>,~], supporting regular expressions.
property=name!=abc&property=id~.*1234.*&property=description equivalent with property=name!=abc,id~.*1234.*,description.
orderBy Sort results by a specific property. Adding a - before name (orderby=-name) will sort items by name in descending order (Z-A). Path expressions are in the form of dot separated paths. This parameter can be repeated like so: orderby=field1[,-fields2,field3,...] orderby=id,-name
limit Limit the number of placements returned. limit=5


A successful response returns a list of personalized offers that are present along with those that you have access to.

    "results": [
            "created": "2023-05-15T14:35:16.781+00:00",
            "modified": "2023-05-15T14:38:26.691+00:00",
            "etag": 2,
            "schemas": [
            "createdBy": "{CREATED_BY}",
            "lastModifiedBy": "{MODIFIED_BY}",
            "id": "personalizedOffer1234",
            "name": "Test personalized offer with frequency constraint",
            "status": "draft",
            "representations": [
                    "channel": "",
                    "placement": "offerPlacement1234",
                    "components": [
                            "type": "html",
                            "format": "text/html",
                            "language": [
                            "content": "Hello You qualify for our Discount of 60%"
            "selectionConstraint": {
                "startDate": "2022-07-27T05:00:00.000+00:00",
                "endDate": "2023-07-29T05:00:00.000+00:00",
                "profileConstraintType": "none"
            "rank": {
                "priority": 0
            "cappingConstraint": {},
            "frequencyCappingConstraints": [
                    "enabled": false,
                    "limit": 1,
                    "startDate": "2023-05-15T14:25:49.622+00:00",
                    "endDate": "2023-05-25T14:25:49.622+00:00",
                    "scope": "global",
                    "entity": "offer",
                    "repeat": {
                        "enabled": false,
                        "unit": "month",
                        "unitCount": 1
    "count": 1,
    "total": 1,
    "_links": {
        "self": {
            "href": "/offers?offer-type=personalized&href={SELF_HREF}",
            "type": "application/json"

On this page