Acquia Lift Decision API (v2)

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

Accounts

GetAccounts

Responses

Response samples

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

Campaigns

GetCampaignAnalytics

path Parameters
campaign_id
string <uuid>

The identifier of the campaign.

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.

date_start
string <date>

The date of start.

date_end
string <date>

The date of end.

details
boolean

Requested a detailed response.

nocache
boolean

Do we want to receive cached result or not?

Responses

Response samples

Content type
application/json
{
  • "campaign_id": "campaign-1",
  • "campaign_type": "ab",
  • "times_shown_count": 60,
  • "click_throughs_count": 25,
  • "click_through_rate_percentage": 41.7,
  • "goals_count": 2,
  • "conversion_rate_percentage": 3.4,
  • "unique_visitor_count": 100,
  • "last_updated": "2019-10-09 14:00:00.000UTC",
  • "rule_id": "rule-1",
  • "details": {
    }
}

GetCampaigns

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.

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.

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

Filter by the status of campaigns.

type
string
Enum: "mixed" "target" "ab" "dynamic"

Filter by the type of campaigns.

label
string

Filter by the label of campaigns.

sort_field
string
Enum: "created" "updated" "start_at" "end_at" "status" "label"

Campaign characteristic to sort by.

sort
string
Enum: "asc" "desc"

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

include_rule_and_goal_ids
boolean

Optional parameter to specify whether or not to return the Rule Id and Goal Id arrays associated with the campaign being returned. True includes them in the campaign object. False returns a campaign object without the arrays included.

time_filters
string
Example: time_filters=/campaigns?time_filters=[{ "field": "created", "operator":">", "value":"2018-09-01T00:00:00Z"}, { "field": "created", "operator":"<=", "value":"2018-09-30T23:59:59Z"}]

A string formatted array of time related condition objects which allow the user to filter the returned campaigns based on start_at, end_at, created, and updated times. Users may pass multiple objects for each field to narrow down searches. For example, saying created > Sept 1 and created <= Sept 30 as 2 separate filter objects would return all campaigns created in the month of September.

Responses

Response samples

Content type
application/json
{
  • "total_count": 3,
  • "campaigns": [
    ]
}

CreateCampaign

Create or update a campaign

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

JSON representation of a campaign object.

id
required
string

campaign id

site_id
required
string

The id of the site creating the campaign

label
required
string [ 1 .. 255 ] characters

Label applied to a campaign

description
string <= 64000 characters
type
required
string
Default: "mixed"
Enum: "mixed" "target" "ab" "recommendation"

Type of rules the campaign contains. Possible values are mixed (default), target, ab, recommendation.

status
required
string
Default: "unpublished"
Enum: "unpublished" "scheduled" "published" "completed" "archived"

The status of the campaign.

etag
string

The entity tag that is created and managed by the server. When a campaign is being updated, the etag retrieved during the GET must be included in the POST.

auto_promote
boolean

Flag to enable/disable auto promotion for AB type campaigns

confidence_level
integer [ 0 .. 100 ]

The threshold for which the ab campaign should be promoted to target campaign. It is an integer value between 0 and 100.

abmetric
string
Enum: "goals" "clickthroughs"

Type of metric for auto-promote settings.

start_at
string <date-time>

time the campaign starts after publishing

end_at
string <date-time>

time the campaign ends after publishing

rule_ids
Array of strings

Rule ids associated with the campaign.

goal_ids
Array of strings

Goal ids associated with the campaign.

Responses

Request samples

Content type
application/json
Example
{
  • "id": "campaign-1",
  • "label": "campaign-1",
  • "site_id": "site-id-1",
  • "description": "I'm going to create a campaign targeted at pets.",
  • "type": "mixed",
  • "status": "unpublished",
  • "etag": "campaign-1-etag",
  • "created": "2018-09-10T16:08:12.880Z",
  • "updated": "2018-09-10T16:08:12.880Z",
  • "start_at": "2018-09-10T16:08:12.880Z",
  • "end_at": "2018-12-10T16:08:12.880Z",
  • "rule_ids": [
    ],
  • "goal_ids": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "id": "campaign-1",
  • "label": "campaign-1",
  • "site_id": "site-id-1",
  • "description": "I'm going to create a campaign targeted at pets.",
  • "type": "mixed",
  • "status": "unpublished",
  • "etag": "campaign-1-etag",
  • "created": "2018-09-10T16:08:12.880Z",
  • "updated": "2018-09-10T16:08:12.880Z",
  • "start_at": "2018-09-10T16:08:12.880Z",
  • "end_at": "2018-12-10T16:08:12.880Z",
  • "rule_ids": [
    ],
  • "goal_ids": [
    ]
}

DeleteCampaigns

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

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

GetCampaign

Get an individual campaign

path Parameters
campaign_id
required
string <uuid>

The identifier of the campaign.

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
Example
{
  • "id": "campaign-1",
  • "label": "campaign-1",
  • "site_id": "site-id-1",
  • "description": "I'm going to create a campaign targeted at pets.",
  • "type": "mixed",
  • "status": "unpublished",
  • "etag": "campaign-1-etag",
  • "created": "2018-09-10T16:08:12.880Z",
  • "updated": "2018-09-10T16:08:12.880Z",
  • "start_at": "2018-09-10T16:08:12.880Z",
  • "end_at": "2018-12-10T16:08:12.880Z",
  • "rule_ids": [
    ],
  • "goal_ids": [
    ]
}

UpdateCampaign

Update specific fields of a campaign

path Parameters
campaign_id
required
string <uuid>

The identifier of the campaign.

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.

Request Body schema: application/json

Update a singular characteristic of a Campaign through the PATCH endpoint. Currently the endpoint only supports updating status (except scheduled), type (to mixed only), description, and label.

label
string [ 1 .. 255 ] characters

Label applied to a campaign

description
string <= 64000 characters

Description of the campaign.

type
string
Value: "mixed"

Type of the campaign. Can only be changed to a mixed campaign through PATCH endpoint.

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

The status of the campaign. Must be a valid status change as mirrored in POST endpoint.

auto_promote
boolean

Flag to enable/disable auto promotion for AB type campaigns

confidence_level
integer [ 0 .. 100 ]

The threshold for which the ab campaign should be promoted to target campaign. It is an integer value between 0 and 100.

abmetric
string
Enum: "goals" "clickthroughs"

Type of metric for auto-promote settings.

Responses

Request samples

Content type
application/json
Example
{
  • "label": "effective_campaign_1",
  • "description": "New Campaign",
  • "status": "unpublished",
  • "type": "mixed"
}

Response samples

Content type
application/json
Example
{
  • "id": "campaign-1",
  • "label": "campaign-1",
  • "site_id": "site-id-1",
  • "description": "I'm going to create a campaign targeted at pets.",
  • "type": "mixed",
  • "status": "unpublished",
  • "etag": "campaign-1-etag",
  • "created": "2018-09-10T16:08:12.880Z",
  • "updated": "2018-09-10T16:08:12.880Z",
  • "start_at": "2018-09-10T16:08:12.880Z",
  • "end_at": "2018-12-10T16:08:12.880Z",
  • "rule_ids": [
    ],
  • "goal_ids": [
    ]
}

DeleteCampaign

Delete a campaign using the campaign id.

path Parameters
campaign_id
required
string <uuid>

The identifier of the campaign.

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."
}

CloneCampaign

path Parameters
campaign_id
required
string <uuid>

The identifier of the campaign.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "id": "campaign-2",
  • "label": "[COPY] - campaign-1",
  • "site_id": "site-id-1",
  • "description": "I'm going to create a campaign targeted at pets.",
  • "type": "mixed",
  • "status": "published",
  • "etag": "campaign-2-etag",
  • "created": "2018-09-10T16:08:12.880Z",
  • "updated": "2018-09-10T16:08:12.880Z",
  • "start_at": "2018-09-10T16:08:12.880Z",
  • "end_at": "2022-12-10T16:08:12.880Z",
  • "rule_ids": [
    ],
  • "goal_ids": [
    ]
}

PromoteVariation

path Parameters
campaign_id
required
string <uuid>

The identifier of the campaign.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

JSON representation of a variation id.

variation_id
string [ 1 .. 255 ] characters

Id of the variation that we want to promote to a standalone target campaign.

Responses

Request samples

Content type
application/json
{
  • "variation_id": "variation-id-1"
}

Response samples

Content type
application/json
{
  • "id": "new-target-campaign",
  • "label": "Promoted from old-campaign-label",
  • "site_id": "site-id-1",
  • "description": "Promoted from old-campaign-label",
  • "type": "target",
  • "status": "unpublished",
  • "etag": "new-target-campaign-etag",
  • "created": "2018-09-10T16:08:12.880Z",
  • "updated": "2018-09-10T16:08:12.880Z",
  • "start_at": "2018-09-10T16:08:12.880Z",
  • "end_at": "2022-12-10T16:08:12.880Z",
  • "rule_ids": [
    ],
  • "goal_ids": [
    ]
}

MergeCampaigns

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

List of campaign ids.

Array ()
string unique

Responses

Request samples

Content type
application/json
[
  • "example-campaign-id-1",
  • "example-campaign-id-2",
  • "example-campaign-id-3",
  • "example-campaign-id-4"
]

Response samples

Content type
application/json
{
  • "id": "campaign-2",
  • "label": "campaign-1-merged",
  • "site_id": "site-id-1",
  • "description": "campaign-1 description",
  • "type": "mixed",
  • "status": "unpublished",
  • "etag": "campaign-2-etag",
  • "created": "2018-09-10T16:08:12.880Z",
  • "updated": "2018-09-10T16:08:12.880Z",
  • "start_at": null,
  • "end_at": null,
  • "rule_ids": [
    ],
  • "goal_ids": [
    ]
}

Capture

GetCaptures

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

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

identity, Visitor's primary identity information.

identsrc
string

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

en
string

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

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

dsid
string <= 1000 characters

decision_slot_name, The name 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

dcpid
string

Unique ID of the rule's campaign.

dcpn
string

Name of the rule's campaign.

dcpt
string

Type of the rule's campaign.

drvid
string

Id of the AB test rule's chosen variation.

drvn
string

Label of the AB test rule's chosen variation.

dnt
boolean

Flag to indicate whether the person should not be tracked.

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

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 Array of objects (Capture)

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": [
    ]
}

GetCaptureConfig

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "activity_level": "FULL",
  • "tracking_time": 63072000,
  • "third_party_cookie_enabled": false,
  • "first_party_cookie_base_domain_enabled": true,
  • "max_queue_cookie_size": 4093
}

Content

GetContents

Get list of content with pagination.

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

context_language
string
Example: context_language=fr

REQUIRED if passing cdf_version=2. The 2 or 4 letter language code of the desired piece of content.

include_origin_and_tags
boolean
Default: false
Example: include_origin_and_tags=true

Flag to return back origin and tag ids and labels. Default is set to false.

q
string

The keyword(s) to find, space delimited

nocache
boolean

Do we want to receive cached result or not?

view_mode
string

REQUIRED if passing cdf_version=2.

all_tags
boolean

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

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.

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
{}

CreateContents

Push a list content(s) into content provider.

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

Request Body schema: application/json

List of CDF entities.

One of
resource
required
string

Resource URL

object

Array list of Entity to be pushed to content collector

Responses

Request samples

Content type
application/json
Example
"{\n \"resource\" : \"some-url-to-content\"\n}\n"

Response samples

Content type
application/json
{
  • "message": "Entity create request is acknowledged."
}

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

context_language
string
Example: context_language=fr

REQUIRED if passing cdf_version=2. The 2 or 4 letter language code of the desired piece of content.

include_origin_and_tags
boolean
Default: false
Example: include_origin_and_tags=true

Flag to return back origin and tag ids and labels. Default is set to false.

origins
string

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

nocache
boolean

Do we want to receive cached result or not?

Responses

Response samples

Content type
application/json
{}

UpdateContent

Updates 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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

Request Body schema: application/json

List of CDF entities.

One of
resource
required
string

Resource URL

object

Array list of Entity to be pushed to content collector

Responses

Request samples

Content type
application/json
Example
{
  • "resource": "some-url-to-content"
}

Response samples

Content type
application/json
{
  • "message": "Entity update request is acknowledged (id 4f66cdee-22dd-446a-95e4-f6c51f209d94)."
}

DeleteContent

Remove an existing 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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

Responses

Response samples

Content type
application/json
{
  • "message": "Entity delete request is acknowledged (id 4f66cdee-22dd-446a-95e4-f6c51f209d94)."
}

GetContentMetadata's

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

context_language
string
Example: context_language=fr

REQUIRED if passing cdf_version=2. The 2 or 4 letter language code of the desired piece of content.

include_origin_and_tags
boolean
Default: false
Example: include_origin_and_tags=true

Flag to return back origin and tag ids and labels. Default is set to false.

q
string

The keyword(s) to find, space delimited

nocache
boolean

Do we want to receive cached result or not?

all_tags
boolean

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

view_mode
string

REQUIRED if passing cdf_version=2.

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.

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

origins
Array of strings

List of origins.

entities
string

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

Request Body schema: text/plain

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.

preview_rule_id
string

The id of the rule that is requested to use for the preview. If it's invalid, an empty decision will be given back.

preview_rule_ab_variation
string

The variation id of the ab variation that is requested for the preview. If it's invalid, the default variation will be used (Original Website).

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
text/plain
{
  "slots": [
    "slot-1",
    "slot-2"
  ],
  "do_not_track": false,
  "touch_identifier": "2YjfTpTyI2Q1hCR0fA57qh",
  "identity": "5TYO36lJUkcmOCwZVOj8Di",
  "identity_source": "tracking",
  "identity_expiry": 1524323730,
  "captures": [
    {
      "event_name": "Content View",
      "event_source": "Web",
      "event_date": "2016-04-23T10:01:00.0Z",
      "url": "www.acquia.com",
      "referrer": "www.drupal.org",
      "title": "Welcome to Acquia",
      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0",
      "ip_address": "192.168.1.1"
    },
    {
      "event_name": "Content View",
      "event_source": "Web",
      "event_date": "2016-04-23T10:01:01.0Z",
      "url": "www.acquia.com/about",
      "referrer": "www.acquia.com",
      "title": "About Acquia",
      "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:41.0) Gecko/20100101 Firefox/41.0",
      "ip_address": "192.168.1.1"
    }
  ]
}

Response samples

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

MakeDecision

query Parameters
entities
string

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.

preview_rule_id
string

The id of the rule that is requested to use for the preview. If it's invalid, an empty decision will be given back.

preview_rule_ab_variation
string

The variation id of the ab variation that is requested for the preview. If it's invalid, the default variation will be used (Original Website).

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": {
    }
}

Sites

DeploySite

Deploy the complete source site to the destination site. If the destination site already exists, the deployment will continue and overwrite the current state of the destination site. This overwrite includes all campaigns and rules currently configured on the destination site.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

source_site_id
required
string

The id of the source site that will be migrated to the destination site.

dest_site_id
required
string

The id of the destination site that the source site will be migrated to.

Responses

Response samples

Content type
plain/text
Successfully deployed source_site_id to dest_site_id

GetSites

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

include_site_details
boolean

If set to "true", the number of campaigns, slots and pages will be returned in the response. Flag is defaulted to false.

Responses

Response samples

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

CreateSites

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

Create/Update customer site(s) associated with account id. When POST'ing a site with the same identifier, it will update that existing site.

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

Id associated with customer site

name
required
string

Name associated with customer site

url
string

Url associated with customer site

campaigns
number

Number of active campaigns associated with the site. Archived campaigns will not be included in the total count. This field will appear if include details flag is set to true from request

slots
number

Number of slots configured on the site. Slots that have a visbility of hide will not be included in the total count. This field will appear if include details flag is set to true from request

pages
number

Number of unique page urls configured in slots associated with site. Pages configured in hidden slots will not be included in the total count. This field will appear if include details flag is set to true from request

Responses

Request samples

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

Response samples

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

GetSite

path Parameters
site_id
required
string

Unique id of the site.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

include_site_details
boolean

If set to "true", the number of campaigns, slots and pages will be returned in the response. Flag is defaulted to false.

Responses

Response samples

Content type
application/json
Example
{
  • "id": "site_1",
  • "name": "Site 1",
  • "url": "site-1-url"
}

DeleteSite

path Parameters
site_id
required
string

Unique id of the site.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "message": "The site id has been deleted"
}

Events

GetEvents

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

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

CreateEvent

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

JSON representation of a event post object.

event_name
required
string <= 200 characters

Human readable name of the event.

event_id
required
string <= 200 characters

External id of the event.

event_type
required
string

Type of the event, choose from - ACTION, CLICK, CONVERSION, OTHER

site_id
string

External id of the customer site. If not provided, site will be configured as global.

Responses

Request samples

Content type
application/json
{
  • "event_id": "Test Event Id",
  • "event_name": "Test Event",
  • "event_type": "CLICK"
}

Response samples

Content type
application/json
{
  • "id": "Q29udGVudCBWaWV3",
  • "event_name": "Content View",
  • "event_id": "Content View",
  • "event_type": "OTHER"
}

GetEvent

path Parameters
id
required
string <base64>

Base64 encoding of event_id

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "id": "Q29udGVudCBWaWV3",
  • "event_name": "Content View",
  • "event_id": "Content View",
  • "event_type": "OTHER"
}

DeleteEvent

path Parameters
id
required
string <base64>

Base64 encoding of event_id

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": "Error in deleting event by id (VGVzdCBFdmVudA==)"
}

UpdateEvent

path Parameters
id
required
string <base64>

Base64 encoding of event_id

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

JSON representation of a event object.

event_name
required
string <= 200 characters

Human readable name of the event.

event_type
required
string

Type of the event, choose from - ACTION, CLICK, CONVERSION, OTHER

site_id
string

External id of the customer site. If not provided, site will be configured as global.

Responses

Request samples

Content type
application/json
{
  • "event_name": "Test Event",
  • "event_type": "CLICK"
}

Response samples

Content type
application/json
{
  • "error": "Failed to contact liftweb (code: 400): ''event_name', or 'event_type' is not present'."
}

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

Responses

Response samples

Content type
application/json
{
  • "message": "The filter has been deleted."
}

GeoLocations

GetGeoLocations-Country

query Parameters
search
required
string

A search string of at least 3 characters.

Responses

Response samples

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

GetGeoLocations-Region

query Parameters
search
required
string

A search string of at least 3 characters.

country
required
string

Name of country in full name in which the region lies.

Responses

Response samples

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

GetGeoLocations-City

query Parameters
search
required
string

A search string of at least 3 characters.

country
required
string

Name of country in full name in which the region lies.

city
required
string

Name of region in full name in which the city lies.

Responses

Response samples

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

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
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.

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
{
  • "id": "pDX4dc29tZWlkZW50aWZlcg",
  • "name": "Purchase",
  • "description": "Winter promotion",
  • "rule_ids": [
    ],
  • "site_ids": [
    ],
  • "global": false,
  • "event_names": [
    ],
  • "value": "100"
}

GetGoal

Get a unique 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.

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.

Responses

Response samples

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

Rules

MigrateRulesByAccountId

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
{
  • "success": 13
}

GetMigrationRules

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
[
  • {
    },
  • {
    },
  • {
    }
]

MigrateRulesByUUIDs

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.

Request Body schema: application/json

List of uuids of rules to migrate.

Array ()
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "success": 13,
  • "failed": [
    ]
}

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

context_language
string
Example: context_language=fr

REQUIRED if passing cdf_version=2. The 2 or 4 letter language code of the desired piece of 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.

slot_id
string <uuid>

Filter the list of rules by a single slot_id.

nocache
boolean

Do we want to receive cached result or not?

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

context_language
string
Example: context_language=fr

REQUIRED if passing cdf_version=2. The 2 or 4 letter language code of the desired piece of content.

Request Body schema: application/json

JSON representation of a rule object.

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

Rule UID.

label
required
string

Human readable label for the given rule.

priority
integer

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

description
string
campaign_id
required
string

The campaign that this rule is associated with.

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

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

status
required
string
Enum: "unpublished" "scheduled" "published" "completed" "archived"

Status of the Rule. Defaults to unpublished. Must match the status of the campaign if attached to a campaign.

type
required
string
Enum: "target" "ab" "dynamic"

Type of the rule. Must match the type of the testconfig. Empty testconfig matches any type.

any or any or any

Responses

Request samples

Content type
application/json
Example
{
  • "id": "rule-1",
  • "label": "Front page banner personalization for Belgians",
  • "segment": "belgians",
  • "priority": 10,
  • "status": "unpublished",
  • "type": "target",
  • "description": "Front page banner personalization for Belgians",
  • "campaign_id": "campaign-123",
  • "page_to_personalize": "http://acquia.com",
  • "testconfig": {
    }
}

Response samples

Content type
application/json
Example
"{\n \"id\": \"rule-1\",\n \"label\": \"Front page banner personalization for Belgians\",\n \"segment\": \"belgians\",\n \"priority\": 10,\n \"status\": \"unpublished\",\n \"type\": \"target\",\n \"description\": \"Front page banner personalization for Belgians\",\n \"campaign_id\": \"campaign-123\",\n \"page_to_personalize\": \"http://acquia.com\",\n \"testconfig\": {\n \"target\": [\n {\n \"slot_id\": \"slot_1\",\n \"contents\": [\n {\n \"id\": \"front-banner-1\",\n \"view_mode\": {\n \"id\": \"banner-wide-1\"\n }\n }\n ]\n },\n {\n \"slot_id\": \"slot_2\",\n \"contents\": [\n {\n \"id\": \"front-banner-2\",\n \"view_mode\": {\n \"id\": \"banner-wide-2\"\n }\n }\n ]\n }\n ]\n }\n}\n"

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

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.

cdf_version
integer
Enum: 1 2

The CDF version used in content provider. Can accept value of empty string, 1 or 2. Default value is 1.

context_language
string
Example: context_language=fr

REQUIRED if passing cdf_version=2. The 2 or 4 letter language code of the desired piece of content.

nocache
boolean

Do we want to receive cached result or not?

Responses

Response samples

Content type
application/json
Example
{
  • "id": "rule-1",
  • "label": "Front page banner personalization for Belgians",
  • "segment": "belgians",
  • "priority": 10,
  • "status": "unpublished",
  • "type": "target",
  • "description": "Front page banner personalization for Belgians",
  • "campaign_id": "campaign-123",
  • "page_to_personalize": "http://acquia.com",
  • "testconfig": {
    }
}

UpdateRule

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.

Request Body schema: application/json

Update a singular characteristic of a Rule through the PATCH endpoint. Currently the endpoint only supports updating segment, priority, description, and label.

label
string [ 1 .. 255 ] characters

Label applied to a campaign

description
string <= 64000 characters

Description of the campaign.

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

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

priority
integer

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

Responses

Request samples

Content type
application/json
{
  • "label": "New Rule Label",
  • "description": "New Rule",
  • "priority": 10,
  • "segment": "search"
}

Response samples

Content type
application/json
Example
{
  • "id": "rule-1",
  • "label": "Front page banner personalization for Belgians",
  • "segment": "belgians",
  • "priority": 10,
  • "status": "unpublished",
  • "type": "target",
  • "description": "Front page banner personalization for Belgians",
  • "campaign_id": "campaign-123",
  • "testconfig": {
    }
}

DeleteRule

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."
}

Pages

GetPages

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.

pageurl
string

Filter results by page url (ie. "/", "/index.html").

sort_field
string
Enum: "pages" "campaigns" "slots"

Sort results by page url, number of campaigns or number of slots. Default is set to sort query by page url.

sort
string
Enum: "asc" "desc"

Indicate to order query by ascending or descending.

Responses

Response samples

Content type
application/json
{
  • "total_count": 10,
  • "start": 0,
  • "rows": 10,
  • "pages": [
    ]
}

GetPage

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
[
  • {
    }
]

Ping

Ping

Responses

Response samples

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

Segments

GetSegmentsByAccount

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.

format
string
Enum: "v1" "v2"

Format 'v1' will output a list of segments without pagination fields. Format 'v2' will return responses with pagination fields

Responses

Response samples

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

CreateSegment

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

JSON representation of a segment object.

id
string <= 100 characters

Segment Id.

name
required
string <= 100 characters

Human readable name of the segment.

description
required
string <= 3000 characters

Human readable description of the segment.

site_ids
Array of strings >= 0 items unique

Optional list of customer sites.

object (Segment V2)

Responses

Request samples

Content type
application/json
Example
"{\n \"id\": \"test_segment\",\n \"name\": \"Test Segment\",\n \"description\": \"Testing Segment POST API\",\n \"tree\": {\n \"children_op\": \"ALL\",\n \"children\": [\n {\n \"column_metadata_id\": 43167,\n \"category\": \"Event Count\",\n \"subcategory\": \"Events\",\n \"op\": \"GTE\",\n \"value\": 1,\n \"time_period\": \"PAST_30_DAYS\",\n \"event_id\": 13852,\n \"event_name\": \"Content View\",\n \"children\": [\n {\n \"children_op\": \"ANY\",\n \"children\": [\n {\n \"column_metadata_id\": 11613,\n \"category\": \"Client Time\",\n \"subcategory\": \"Day of Month\",\n \"op\": \"EQUALS\",\n \"value\": \"02\"\n }\n ]\n }\n ]\n }\n ]\n }\n}\n"

Response samples

Content type
application/json
Example
"{\n \"id\": \"test_segment\",\n \"name\": \"Test Segment\",\n \"description\": \"Testing Segment POST API\",\n \"tree\": {\n \"children_op\": \"ALL\",\n \"children\": [\n {\n \"column_metadata_id\": 43167,\n \"category\": \"Event Count\",\n \"subcategory\": \"Events\",\n \"op\": \"GTE\",\n \"value\": 1,\n \"time_period\": \"PAST_30_DAYS\",\n \"event_id\": 13852,\n \"event_name\": \"Content View\",\n \"children\": [\n {\n \"children_op\": \"ANY\",\n \"children\": [\n {\n \"column_metadata_id\": 11613,\n \"category\": \"Client Time\",\n \"subcategory\": \"Day of Month\",\n \"op\": \"EQUALS\",\n \"value\": \"02\"\n }\n ]\n }\n ]\n }\n ]\n }\n}\n"

DeleteSegments

This method allows deletion of a specific segment associated with an account.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
plain/text
Segments has been deleted successfully.

GetSegmentsById

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": "test_segment",
  • "name": "Test Segment",
  • "description": "Testing Segment POST API",
  • "tree": {
    }
}

DeleteSegment

This method allows deletion of a specific segment associated with an account.

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
plain/text
Segment has been deleted successfully.

GetSegmentsMetadata

query Parameters
account_id
required
string <= 20 characters

The customer account_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

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

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

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

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."
}

Usergroups

GetUserGroups

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

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

GetUserGroup

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "userGroupId": 13083,
  • "name": "Lift 4 End-to-End Testings Administrators",
  • "description": "Lift 4 End-to-End Testings Administrators Group"
}

Users

GetUsers

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

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

CreateUser

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

JSON representation of a user post object.

fullName
required
string

Display name of User

emailAddress
required
string

Email Address of User

secGroupId
required
number

User associated with user id

plainPassword
required
string

User password

enabled
boolean

Active status flag

passwordChangeRequired
boolean

Forces user to change password on login if flag is set to true

sendEmail
boolean

Send email notification to user when flag is set to true

Responses

Request samples

Content type
application/json
{
  • "fullName": "Anonymous API User",
  • "emailAddress": "DECAPICI3CDF2.apiuser@acquia.com",
  • "secGroupId": 19828,
  • "plainPassword": "Password1234",
  • "enabled": true,
  • "passwordChangeRequired": false,
  • "sendEmail": false
}

Response samples

Content type
application/json
{
  • "object": "user",
  • "userId": "REVDQVBJQ0kzQ0RGMi5hcGl1c2VyQGFjcXVpYS5jb20=",
  • "fullName": "Anonymous API User",
  • "enabled": true,
  • "emailAddress": "DECAPICI3CDF2.apiuser@acquia.com",
  • "secGroupId": 19828,
  • "accessKeyId": "fU7wOL3w31joHzXWEKdf",
  • "secretAccessKey": "rCJZVS34idHjPSjlXAB6w739suBQmwHg9eZES67n"
}

GetUser

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "object": "user",
  • "userId": "REVDQVBJQ0kzQ0RGMi5hcGl1c2VyQGFjcXVpYS5jb20",
  • "fullName": "Anonymous API User",
  • "enabled": true,
  • "emailAddress": "DECAPICI3CDF2.apiuser@acquia.com",
  • "secGroupId": 19828,
  • "accessKeyId": "fU7wOL3w31joHzXWEKdf",
  • "secretAccessKey": "rCJZVS34idHjPSjlXAB6w739suBQmwHg9eZES67n"
}

DeleteUser

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Responses

Response samples

Content type
application/json
{
  • "error": "Missing url parameter account_id."
}

UpdateUser

query Parameters
account_id
required
string <= 20 characters

The customer account_id in the configuration database.

Request Body schema: application/json

JSON representation of a user put object.

fullName
required
string

Display name of User

secGroupId
required
number

User associated with user id

plainPassword
required
string

User password

enabled
boolean

Active status flag

passwordChangeRequired
boolean

Forces user to change password on login if flag is set to true

sendEmail
boolean

Send email notification to user when flag is set to true

Responses

Request samples

Content type
application/json
{
  • "fullName": "Anonymous API User",
  • "secGroupId": 19828,
  • "plainPassword": "Password1234",
  • "enabled": true,
  • "passwordChangeRequired": false,
  • "sendEmail": false
}

Response samples

Content type
application/json
{
  • "object": "user",
  • "userId": "REVDQVBJQ0kzQ0RGMi5hcGl1c2VyQGFjcXVpYS5jb20=",
  • "fullName": "Anonymous API User",
  • "enabled": true,
  • "emailAddress": "DECAPICI3CDF2.apiuser@acquia.com",
  • "secGroupId": 19828,
  • "accessKeyId": "fU7wOL3w31joHzXWEKdf",
  • "secretAccessKey": "rCJZVS34idHjPSjlXAB6w739suBQmwHg9eZES67n"
}

View modes

GetViewModeIds

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.

nocache
boolean

Do we want to receive cached result or not?

Responses

Response samples

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

Visitor query

GetVisitorInfo

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": [
    ]
}