Acquia Lift Decision API (v1)

Download OpenAPI specification:Download

Interface to be able to capture user behaviours and make decisions based on it.

Authentication

HmacAuthorization

Security Scheme Type API Key
Header parameter name: Authorization

HmacAuthorizationTimestamp

Security Scheme Type API Key
Header parameter name: X-Authorization-Timestamp

HmacAuthorizationContentSHA256

Security Scheme Type API Key
Header parameter name: X-Authorization-Content-SHA256

HmacAuthenticatedId

Security Scheme Type API Key
Header parameter name: X-Authenticated-Id

Capture

GetCaptures

Returns the visitor information

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

prefetch
boolean
Default: false
Example: prefetch=true

Some requests can be requested to go and get the HTML of the content item they show. Eg. /search or /content.

tid
string <= 22 characters

touch_identifier, Internal identifier for the touch, if this field is left empty, lift will generate a touch identifier and include it in the response

ident
string <= 200 characters

identity, Visitor's primary identity information.

identsrc
string <= 200 characters

identity_source, Type of visitor's primary identity information. Specific string (account, email, facebook, twitter, tracking, name) or custom identifier type.

en
string <= 200 characters

event_name, Event name corresponding to the captured information - the event type matching this event name must match the master list of events created in Acquia Lift Profile Manager

es
string <= 200 characters

event_source, Source of the event - can be used to pass event data from tools you have set up to send data to Acquia Lift Profile Manager (the default Acquia Lift Profile Manager value is web; depending on your website's configuration, examples may include csrtool1 and promo1)

ed
string <date-time>

event_date, Date of the Event. Timestamp in ISO 8601 format, YYYY-MM-DDTHH:MM:SSZ

ids
string

identities, Additional identity information, can be included multiple times. The value is a concatenation of the identity and its source, separated by a "|" (examples include "john.smith@acquia.com|email" and "John Smith|name"})

url
string <= 2000 characters

url, The URL on which the event was triggered.,

rurl
string <= 4000 characters

referral_url, Referrer's URL

cttl
string <= 200 characters

content_title, Page title

ua
string <= 2000 characters

user_agent, Visitor's user agent

pltfrm
string <= 50 characters

platform, Visitor's platform

ip
string <= 45 characters

ip_address, Visitor's IP address (supports both IPv4 and IPv6 addresses)

p
string <= 1000 characters

persona, User-defined category into which a visitor fits, based on their viewing of particular content

escore
integer

engagement_score, The number that you have chosen to signify the importance of a visitor's interest in an event

pn
string <= 1000 characters

personalization_name, (DEPRECATED) Name of personalization associated with an event

pmn
string <= 1000 characters

personalization_machine_name, (DEPRECATED) Machine name of personalization associated with an event

pcv
string <= 1000 characters

personalization_chosen_variation, (DEPRECATED) The variation (decision) chosen for an event

pdp
string <= 1000 characters

personalization_audience_name, (DEPRECATED) The name of the audience

pan
string <= 1000 characters

personalization_decision_policy, (DEPRECATED) The decision policy used - for example, explore or target

pgn
string <= 1000 characters

personalization_goal_name, (DEPRECATED) The name of the goal reached

pgv
string <= 1000 characters

personalization_goal_value, (DEPRECATED) The value of the goal reached

dsid
string <= 1000 characters

decision_slot_id, The id of the slot for which a decision was made

dsn
string <= 1000 characters

decision_slot_name, The name of the slot for which a decision was made

drid
string <= 1000 characters

decision_rule_id, The id of the rule that was used to make a decision

drn
string <= 1000 characters

decision_rule_name, The name of the rule that was used to make a decision

drt
string <= 1000 characters

decision_rule_type, The type of the rule that was used to make a decision

drsid
string <= 1000 characters

decision_rule_segment_id, The id of the rule segment that was used to make a decision

drsn
string <= 1000 characters

decision_rule_segment_name, The name of the rule segment that was used to make a decision

dcid
string <= 1000 characters

decision_content_id, The id of the content that was returned in the decision

dcn
string <= 1000 characters

decision_content_name, The name of the content that was returned in the decision

dgid
string <= 1000 characters

decision_goal_id, The id of the goal that was triggered by the decision

dgn
string <= 1000 characters

decision_goal_name, The name of the goal that was triggered by the decision

dgv
string <= 1000 characters

decision_goal_value, The value of the goal that was triggered by the decision

dvm
string <= 1000 characters

decision_view_mode, The viewmode of the content that was returned in the decision

dp
string <= 1000 characters

decision_policy, The policy that was used to make the decision (explore,exploit,repeat)

capid
string <= 22 characters

capture_identifier, Unique identifier for the capture

ctz
string <= 100 characters

client_timezone, Client time zone

jsv
string <= 10 characters

javascript_version, version of the javascript that generated the capture

pid
string <= 22 characters

post_id, post id of an article

cid
string <= 22 characters

content_id, content id of an article

cuuid
string <= 1000 characters

content_uuid, content uuid of an article

ctype
string <= 200 characters

content_type, Content-type to which a piece of visitor-viewed content belongs

csec
string <= 1000 characters

content_section, content section of an article

ckw
string <= 1000 characters

content keywords of an article

author
string <= 1000 characters

content_keywords, author of an article

pt
string <= 200 characters

page_type, Category of page the visitor viewed (examples include article page, tag page, and home page)

pd
string <date-time>

published_date, Publish date of an article. Timestamp in ISO 8601 format, YYYY-MM-DDTHH:MM:SSZ

pu([1-9]|[1-4][0-9]|50)
string

person_udfXX, Custom fields for person information

eu([1-9]|[1-4][0-9]|50)
string

event_udfXX, Custom fields for event information

tu([1-9]|1[0-9]|20)
string

touch_udfXX, Custom fields for touch information

Responses

Response samples

Content type
application/json
{
  • "touch_identifier": "fM2RzZmdhNHczIDVxMjM=",
  • "identity": "vDS4dc29tZWlkZW50aWZlcg",
  • "identity_source": "tracking",
  • "matched_segments": [
    ]
}

CreateCaptures

Allows you to create captures to the Acquia Lift Profile Manager.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

prefetch
boolean
Default: false
Example: prefetch=true

Some requests can be requested to go and get the HTML of the content item they show. Eg. /search or /content.

Request Body schema: application/json

Capture events without making a decision

touch_identifier
string <= 22 characters

Internal identifier for the touch, if this field is left empty, lift will generate a touch identifier and include it in the response

identity
string <= 200 characters

Visitor's primary identity information.

identity_source
string <= 200 characters

Type of visitor's primary identity information. Specific string (account, email, facebook, twitter, tracking, name) or custom identifier type.

do_not_track
boolean
Default: false

Flag to indicate whether the person should not be tracked.

return_segments
boolean
Default: false

Flag to indicate whether the response should include matched segment information.

return_content_views
boolean
Default: false

Flag to indicate whether the response should include content UUIDs that were viewed previously by the visitor.

site_id
string <= 20 characters

The customer site matching external_site_id in the configuration database. Used for filtering segments to evaluate and the default site_id for captures. If not specified then the last capture is used to calculate the site_id for filtering segments.

Array of objects (Capture) non-empty unique

List of captures.

Responses

Request samples

Content type
application/json
{
  • "touch_identifier": "eGlhb2dlbGFpd2FuYQ==",
  • "identity": "test@example.com",
  • "identity_source": "email",
  • "do_not_track": false,
  • "return_segments": true,
  • "return_content_views": false,
  • "site_id": "MySiteId",
  • "captures": [
    ]
}

Response samples

Content type
application/json
{
  • "touch_identifier": "fM2RzZmdhNHczIDVxMjM=",
  • "identity": "vDS4dc29tZWlkZW50aWZlcg",
  • "identity_source": "tracking",
  • "matched_segments": [
    ]
}

Content

GetContent

Retrieve an individual content.

path Parameters
content_id
required
string <uuid>

The identifier of the content.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

content_connector_id
required
string <uuid>

The content connector identifier where the content is stored.

Responses

Response samples

Content type
application/json
{}

GetContentConnectors

List of available content connectors.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

CreateContentConnector

Create or update a content connector.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Request Body schema: application/json

Content connector object.

id
required
string^[a-z0-9_-]{1,128}$

Content Connector UID.

type
required
string
Enum: "external_json" "content_hub"

Type of the content connector

required
Content Hub Config (object) or Content Connector Config (object)
status
string
Enum: "enabled" "disabled"

Status of the content connector

created
required
string <date-time>

Timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

updated
string <date-time>

Timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

Responses

Request samples

Content type
application/json
{
  • "id": "nicks_content_hub_identifier",
  • "type": "content_hub",
  • "status": "enabled",
  • "config": {},
  • "created": "2015-11-28T17:17:34.200Z",
  • "updated": "2016-01-05T08:44:31.952Z"
}

Response samples

Content type
application/json
{
  • "id": "nicks_content_hub_identifier",
  • "type": "content_hub",
  • "status": "enabled",
  • "config": {},
  • "created": "2015-11-28T17:17:34.200Z",
  • "updated": "2016-01-05T08:44:31.952Z"
}

GetContentConnector

Get an individual content connector.

path Parameters
content_connector_id
required
string

The content connector identifier where the content is stored.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "id": "nicks_content_hub_identifier",
  • "type": "content_hub",
  • "status": "enabled",
  • "config": {},
  • "created": "2015-11-28T17:17:34.200Z",
  • "updated": "2016-01-05T08:44:31.952Z"
}

DeleteContentConnector

Delete an existing content connector.

path Parameters
content_connector_id
required
string

The content connector identifier where the content is stored.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Could not extract site_id."
}

GetContentMetadata

Retreive all content metadata belonging to an account.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "origins": {
    },
  • "tags": {
    }
}

SearchContent

Find content by keyword, origins, tags, content type, and date.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

prefetch
boolean
Default: false
Example: prefetch=true

Some requests can be requested to go and get the HTML of the content item they show. Eg. /search or /content.

start
integer
Default: 0

Where to start from. Eg if you have 20 items, and you fill in 10 as your start number, it will give you all the items from 10 till 19 if the amount of items you request is 10.

rows
integer
Default: 10

Amount of items to return.

q
string

The keyword(s) to find, space delimited

sort
string
Default: "score"

Sorting field options - true for ascending, false for descending. Default is score.

content_type
string

Filter on content with any of the specified content types. Multiple values are possible.

origins
string

Filter on content coming from any of the specified origins. Multiple values are possible.

tags
string

Filter on content with all of the specified tags. Multiple values are possible.

all_tags
boolean

Flag used for tags operator when querying results. Default value is false which implies that the 'OR' operation would be used.

date_start
string <date>

Filter on content modified after this date. Format dd-mm-yyyy or now-d/d. See the elasticsearch docs for more info on date math.

date_end
string <date>

Filter on content modified before this date. Format dd-mm-yyyy or now-d/d. See the elasticsearch docs for more info on date math.

date_timezone
string <date>

The timezone offset for the date range. Format +/- (e.g., -04:00)

Responses

Response samples

Content type
application/json
[
  • {},
  • {
    }
]

Decide

CreateDecision

Make a decision

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

entities
boolean

Indicate that decision api needs to return the full cdf objects too.

Request Body schema: application/json

Make a decision.

Any of
slots
required
Array of strings

List of slot UIDs.

url
stringuri

The URI for which we are making a decision for so we can fetch all the slots that belong to this URI.

do_not_track
boolean

Parameter indicating that the visitor does not want to be tracked.

source
string <uri>

The url of the lift.js file from which the request originated. Ignored by the /decide endpoint.

preview
boolean
Default: false

Parameter indicating the request wants a preview of a decision based on the passed segments, not on actual user data.

segments
Array of strings

The list of segment ids that will be used for making the decision. When not empty, this list will override the actual segment ids computed by Lift Profile Manager.

touch_identifier
string <= 22 characters

Internal identifier for the touch, if this field is left empty, lift will generate a touch identifier and include it in the response

identity
string <= 200 characters

Visitor's primary identity information. Unique Hash generated by the API if not given.

identity_source
string <= 200 characters

Type of visitor's primary identity information. Specific string (account, email, facebook, twitter, tracking, name) or custom identifier type.

identity_expiry
integer

Expiry date of identity in Unix time (seconds since 1970)

required
Array of objects (Capture) non-empty unique

List of captures.

Responses

Request samples

Content type
application/json
{
  • "slots": [
    ],
  • "do_not_track": false,
  • "touch_identifier": "2YjfTpTyI2Q1hCR0fA57qh",
  • "identity": "5TYO36lJUkcmOCwZVOj8Di",
  • "identity_source": "tracking",
  • "identity_expiry": 1524323730,
  • "captures": [
    ]
}

Response samples

Content type
application/json
{
  • "identity": {
    },
  • "segments": [
    ],
  • "decisions": {
    }
}

MakeDecision

query Parameters
entities
boolean

Indicate that decision api needs to return the full cdf objects too.

Request Body schema: application/json

Make a decision and return JS specific to Lift 3.

Any of
slots
required
Array of strings

List of slot UIDs.

url
stringuri

The URI for which we are making a decision for so we can fetch all the slots that belong to this URI.

do_not_track
boolean

Parameter indicating that the visitor does not want to be tracked.

source
string <uri>

The url of the lift.js file from which the request originated. Ignored by the /decide endpoint.

preview
boolean
Default: false

Parameter indicating the request wants a preview of a decision based on the passed segments, not on actual user data.

segments
Array of strings

The list of segment ids that will be used for making the decision. When not empty, this list will override the actual segment ids computed by Lift Profile Manager.

touch_identifier
string <= 22 characters

Internal identifier for the touch, if this field is left empty, lift will generate a touch identifier and include it in the response

identity
string <= 200 characters

Visitor's primary identity information. Unique Hash generated by the API if not given.

identity_source
string <= 200 characters

Type of visitor's primary identity information. Specific string (account, email, facebook, twitter, tracking, name) or custom identifier type.

identity_expiry
integer

Expiry date of identity in Unix time (seconds since 1970)

required
Array of objects (Capture) non-empty unique

List of captures.

Responses

Request samples

Content type
application/json
{
  • "slots": [
    ],
  • "do_not_track": false,
  • "touch_identifier": "2YjfTpTyI2Q1hCR0fA57qh",
  • "identity": "5TYO36lJUkcmOCwZVOj8Di",
  • "identity_source": "tracking",
  • "identity_expiry": 1524323730,
  • "captures": [
    ]
}

Response samples

Content type
application/json
{
  • "identity": {
    },
  • "segments": [
    ],
  • "decisions": {
    }
}

Filter

GetFilters

Returns a list of filters that belong to that client.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

start
integer
Default: 0

Where to start from. Eg if you have 20 items, and you fill in 10 as your start number, it will give you all the items from 10 till 19 if the amount of items you request is 10.

rows
integer
Default: 10

Amount of items to return.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

CreateFilter

This method will save/update an individual filter.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Request Body schema: application/json

Filter entity object.

uuid
required
string^[a-z0-9_-]{1,128}$

Filter UUID.

name
required
string^[a-z0-9_-]{1,128}$

Filter Name.

required
object

Filter parameters specifying the search query terms.

Responses

Request samples

Content type
application/json
{
  • "uuid": "01230123-0440-4000-8000-909090ababab",
  • "name": "filter-name",
  • "filter_params": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "01230123-0440-4000-8000-909090ababab",
  • "name": "filter-name",
  • "filter_params": {
    }
}

GetFilter

Returns a list of filters that belong to that client.

path Parameters
filter_id
required
string <uuid>

The uuid identifier of the filter.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "uuid": "01230123-0440-4000-8000-909090ababab",
  • "name": "filter-name",
  • "filter_params": {
    }
}

UpdateFilter

This method will update an individual filter.

path Parameters
filter_id
required
string <uuid>

The uuid identifier of the filter.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Request Body schema: application/json

Filter entity object.

uuid
required
string^[a-z0-9_-]{1,128}$

Filter UUID.

name
required
string^[a-z0-9_-]{1,128}$

Filter Name.

required
object

Filter parameters specifying the search query terms.

Responses

Request samples

Content type
application/json
{
  • "uuid": "01230123-0440-4000-8000-909090ababab",
  • "name": "filter-name",
  • "filter_params": {
    }
}

Response samples

Content type
application/json
{
  • "uuid": "01230123-0440-4000-8000-909090ababab",
  • "name": "filter-name",
  • "filter_params": {
    }
}

DeleteFilter

This method will delete an individual filter.

path Parameters
filter_id
required
string <uuid>

The uuid identifier of the filter.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "message": "The filter 'aeb348ea-c2a6-4511-b5d6-d5412a207307' has been deleted."
}

Goal

GetGoals

Get a list of goals.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

global
boolean

If set to "true", the retrieved goals will also include all global goals. If set to "false", the retrieved goals will not include any global goals. If this parameter is absent, then the retrieved global goals will depend on the value of "limit_by_site" parameter - 1) if "limit_by_site" is "true", then no global goals will be returned; 2) if "limit_by_site" is "false", the all global goals will be returned.

limit_by_site
boolean
Default: false

If set to "true", the retrieved goals will also include the site-specific goals of the site_id. If set to "false", the retrieved site-specific goals will depend on the value of "global" parameter - 1) if "global" is "true", then no site-specific goals will be returned; 2) if "global" is "false" or absent, then all site-specific goals of ALL customer sites will be returned.

rule_id
string

The rule identifier to which the retrieved goals should be associated. Can be provided multiple times to get goals from all those rule identifiers.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

CreateGoal

Create/Update a new goal. When POST'ing a goal with the same identifier, it will update that existing goal.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Request Body schema: application/json

Filter entity object.

id
required
string <= 100 characters

Goal UID.

name
required
string <= 200 characters

Human readable name of the goal.

description
required
string <= 4000 characters

Description of the goal.

rule_ids
Array of strings >= 0 items unique

One of more rule identifiers.

site_ids
Array of strings >= 0 items unique

One of more site identifiers.

event_names
required
Array of strings non-empty unique

One or more event names.

global
required
boolean

Defines if this goal applies to all customers sites or just the ones defined.

value
string

Empty or numeric value (float).

Responses

Request samples

Content type
application/json
{
  • "id": "pDX4dc29tZWlkZW50aWZlcg",
  • "name": "Purchase",
  • "description": "Winter promotion",
  • "rule_ids": [
    ],
  • "site_ids": [
    ],
  • "event_names": [
    ],
  • "global": false,
  • "value": "100"
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

UpdateGoal

Update a new goal.

path Parameters
goal_id
string <uuid>

The UUID of the goal.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "id": "pDX4dc29tZWlkZW50aWZlcg",
  • "name": "Purchase",
  • "description": "Winter promotion",
  • "rule_ids": [
    ],
  • "site_ids": [
    ],
  • "event_names": [
    ],
  • "global": false,
  • "value": "100"
}

DeleteGoal

Delete an individual goal.

path Parameters
goal_id
string <uuid>

The UUID of the goal.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Could not extract site_id."
}

Ping

Ping

Responses

Response samples

Content type
application/json
{
  • "message": "Pong!"
}

Report

GetReportOverview

Get a report that shows the result of the personalization.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

rule_id
required
string

The rule name in Acquia Lift Drupal.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

GetReportTarget

Get a report that shows the result of the personalization.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

rule_id
required
string

The rule name in Acquia Lift Drupal.

from
string <date>

From which date do you to see reports. Date in ISO 8601 format YYYY-MM-DD. Defaults to 1 month ago if not given.

to
string <date>

To which date do you to see reports. Date in ISO 8601 format YYYY-MM-DD. Defaults to today if not given.

Responses

Response samples

Content type
application/json
{
  • "overall_stats": [
    ],
  • "daily_stats": [
    ]
}

GetReportTest

Get a report that shows the result of the personalization.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

rule_id
required
string

The rule name in Acquia Lift Drupal.

from
string <date>

From which date do you to see reports. Date in ISO 8601 format YYYY-MM-DD. Defaults to 1 month ago if not given.

to
string <date>

To which date do you to see reports. Date in ISO 8601 format YYYY-MM-DD. Defaults to today if not given.

confidence_measure
integer [ 0 .. 100 ]
Default: 95

Confidence value required to define a winner.

goal_id
string

Id of the goal we would like to get a report about.

Responses

Response samples

Content type
application/json
{
  • "overall_stats": [
    ],
  • "daily_stats": [
    ],
  • "test_results": [
    ],
  • "winner": "",
  • "overall_confidence": 0
}

Rules

GetRules

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

start
integer
Default: 0

Where to start from. Eg if you have 20 items, and you fill in 10 as your start number, it will give you all the items from 10 till 19 if the amount of items you request is 10.

rows
integer
Default: 10

Amount of items to return.

visibility_on_page
string

Certain objects such as slots and rules have visibility options defined. This allows us to filter them based on those options and only show those that are visible on given page or page pattern.

prefetch
boolean
Default: false
Example: prefetch=true

Some requests can be requested to go and get the HTML of the content item they show. Eg. /search or /content.

sort_field
string
Enum: "created" "updated" "id" "priority"

Sorting field options: created, updated, id, and priority.

sort
string
Enum: "asc" "desc"

Sorting order. Can be 'asc' or 'desc'

status
string
Enum: "published" "unpublished" "archived"

Sorting field options: Filter the list of rules by its status.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

CreateRule

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Request Body schema: application/json

JSON representation of a rule object.

One of
id
required
string^[a-z0-9_-]{1,128}$

Rule UID.

label
string

Human readable label for the given rule.

slot_id
required
string^[a-z0-9_-]{1,128}$
priority
integer

The order in which a rule will be evaluated for a slot. Rules with a higher priority are processed first.

description
string
filter_id
string^[a-z0-9_-]{1,128}$

The uuid of the content filter associated with this rule.

required
Array of objects (Content) non-empty unique

Content that we want to make a decision from.

segment
string^[a-z0-9_-]{1,128}$

Segment this rule applies to. Applies to all segments if left empty.

status
string
Enum: "published" "unpublished" "archived"

Status of the Rule. Defaults to unpublished.

any or any or any or any

Responses

Request samples

Content type
application/json
{
  • "id": "rule-1",
  • "label": "Front page banner personalization for Belgians",
  • "slot_id": "slot-1",
  • "filter_id": "c5d98718-dae7-44b7-80af-f40f96fcc00f",
  • "content": [
    ],
  • "segment": "belgians",
  • "priority": 10,
  • "status": "published",
  • "description": "Front page banner personalization for Belgians",
  • "created": "2016-01-05T22:04:39.880Z",
  • "updated": "2016-01-05T22:04:39.880Z",
  • "testconfig": {
    }
}

Response samples

Content type
application/json
{
  • "id": "rule-1",
  • "label": "Front page banner personalization for Belgians",
  • "slot_id": "slot-1",
  • "filter_id": "c5d98718-dae7-44b7-80af-f40f96fcc00f",
  • "content": [
    ],
  • "segment": "belgians",
  • "priority": 10,
  • "status": "published",
  • "description": "Front page banner personalization for Belgians",
  • "created": "2016-01-05T22:04:39.880Z",
  • "updated": "2016-01-05T22:04:39.880Z",
  • "testconfig": {
    }
}

DeleteRules

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Could not extract site_id."
}

GetRule

All rules belonging to the account

path Parameters
rule_id
required
string <uuid>

Identifier of a rule.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "id": "rule-1",
  • "label": "Front page banner personalization for Belgians",
  • "slot_id": "slot-1",
  • "filter_id": "c5d98718-dae7-44b7-80af-f40f96fcc00f",
  • "content": [
    ],
  • "segment": "belgians",
  • "priority": 10,
  • "status": "published",
  • "description": "Front page banner personalization for Belgians",
  • "created": "2016-01-05T22:04:39.880Z",
  • "updated": "2016-01-05T22:04:39.880Z",
  • "testconfig": {
    }
}

DeleteRule

All rules belonging to the account(or site) will be deleted

path Parameters
rule_id
required
string <uuid>

Identifier of a rule.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Could not extract site_id."
}

Segments

GetSegments

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Settings

GetClientSettings

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "content_replacement_js_file": "mydomain.example/reply.js",
  • "lift_capture_js_enabled": "true",
  • "lift_capture_bootstrap_js_file": "mydomain.example/lift-capture-bootstrap.js"
}

CreateClientSettings

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

Set the client specific settings. Always post the full settings schema. The server-side application will take care of only updating the changed values.

content_replacement_js_file
string <= 255 characters

A customer specific reply.js that will be used.

lift_capture_js_enabled
string <= 255 characters

Enable Lift Profile Manager specific JS.

lift_capture_bootstrap_js_file
string <= 255 characters

Specify the specific Lift Profile Manager Capture bootstrap file to be used for this customer.

Responses

Request samples

Content type
application/json
{
  • "id": "settings.json",
  • "title": "Settings",
  • "type": "object",
  • "properties": {
    }
}

Response samples

Content type
application/json
{
  • "content_replacement_js_file": "mydomain.example/reply.js",
  • "lift_capture_js_enabled": "true",
  • "lift_capture_bootstrap_js_file": "mydomain.example/lift-capture-bootstrap.js"
}

Slots

GetSlots

Returns the available slots.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

status
string
Enum: "enabled" "disabled"

Filter the list of slots by its status.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

CreateSlot

Create a slot object.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Request Body schema: application/json

JSON representation of a slot object.

id
required
string^[a-z0-9_-]{1,128}$

Slot UID.

label
string

Human readable label for the given slot.

description
string

Human readable description what this specific slot is and what its purpose is.

css_selector
string

The CSS selector that can be used for the Lift Experience Builder to auto-select a particular html entity as the slot.

status
required
string
Enum: "enabled" "disabled"

Status of the slot

object (Visibility Options)

Define where this rule is visible at and allows for the inclusion or exclusion of the path patterns

created
required
string <date-time>

Timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

updated
string <date-time>

Timestamp in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

Responses

Request samples

Content type
application/json
{
  • "id": "slot-1",
  • "label": "Slot 1",
  • "description": "Acquia Lift Slot 1. Useful for banners on frontpage",
  • "css_selector": "btn.awesome",
  • "status": "enabled",
  • "visibility": {
    }
}

Response samples

Content type
application/json
{
  • "id": "slot-1",
  • "label": "Slot 1",
  • "description": "Acquia Lift Slot 1. Useful for banners on frontpage",
  • "css_selector": "btn.awesome",
  • "status": "enabled",
  • "visibility": {
    },
  • "created": "2015-09-09T06:28:16.020Z",
  • "updated": "2015-09-09T06:28:16.020Z"
}

DeleteSlots

Deletes the slots.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Could not extract site_id."
}

GetSlot

path Parameters
slot_id
required
string <uuid>

Unique id of a slot.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "id": "slot-1",
  • "label": "Slot 1",
  • "description": "Slot 1. Useful for banners on frontpage",
  • "css_selector": "btn.awesome",
  • "status": "enabled",
  • "visibility": {
    },
  • "created": "2015-09-09T06:28:16.020Z",
  • "updated": "2015-09-09T06:28:16.020Z"
}

DeleteSlot

path Parameters
slot_id
required
string <uuid>

Unique id of a slot.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Could not extract site_id."
}

Stats

DeleteStats

delete statistics belonging to the given account (or site-specific)

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Could not extract account_id."
}

View modes

GetViewModeIds

Get all view mode id and labels associated with the account(or site-specific)

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

site_id
required
string <= 20 characters

The customer site matching site_id in the configuration database.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    }
]

Visitor query

GetVisitorInfo

Returns the visitor information.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

identifier
required
string

Visitor's identity information.

identifier_type
required
string

Type of visitor's identity information - must be account, email, facebook, tracking, twitter, or any custom resolvable identifier.

person_tables
required
string

Data table values to return - must be identifiers, person, touch, event, or any comma-delimited combination of these values.

Responses

Response samples

Content type
application/json
{
  • "person": {
    },
  • "identifiers": [
    ],
  • "touches": [
    ]
}