Limio v1.2
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Please see below for methods:
Authentication
-
API Key (ApiKeyAuth)
- Parameter Name: authorization, in: header.
- HTTP Authentication, scheme: bearer
Default
getCampaigns
Code samples
# You can also use wget
curl -X GET /l-api/campaigns \
-H 'Accept: application/json' \
-H 'authorization: API_KEY'
var headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
$.ajax({
url: '/l-api/campaigns',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
fetch('/l-api/campaigns',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/l-api/campaigns", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'authorization': 'API_KEY'
}
r = requests.get('/l-api/campaigns', params={
}, headers = headers)
print r.json()
GET /l-api/campaigns
Retrieves all the campaigns in the Catalog matching the specified queries. It will retrieve an object containing a number for the amount of hits that responded to the query, an array with the details of these campaigns (limited to the pageSize property, default to 50) and a queryMore object for continuing query if the amount of hits exceeded the retrieved campaigns and pagination is activated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
path | query | string | false | Exact path to the object |
tags | query | string | false | To filter by associated tag to the object |
reducedData | query | boolean | false | Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size) |
opt.pageSize | query | number | false | Set the page size for the array response (default is 50 records). Bear in mind that response size limit is 6Mb so if you need to retrieve lots of data is probably best practice to use the queryMore functionality |
opt.modifiedAfter | query | string | false | Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00') |
opt.all | query | boolean | false | Indicate true to activate the pagination |
opt.queryMoreFrom | query | string | false | The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response) |
opt.queryMoreAlias | query | string | false | The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response) |
attributes.YOUR_ATTRIBUTE_HERE | query | string | false | To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates. |
Example responses
200 Response
{
"hits": 1,
"header": {
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
},
"campaigns": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"parent_path": "/offers",
"path": "/offers/2019 Winter Campaign",
"attributes": {},
"name": "2019 Winter Campaign",
"data": {
"description": "A campaign for new Limio customers",
"headline": "Look at the Limio offers below!",
"subline": "They are great!",
"assets": [
null
],
"tags": [
"/tags/test"
],
"status": "draft",
"validFrom": 20190226,
"validTo": 20190305,
"associatedOffers": [
{
"type": "cross-sell",
"offer": {
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Limio Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Limio Regular Subscription",
"data": {
"attributes": {},
"price": [
{
"attributes": {},
"name": "charge_1",
"label": "Charge 1",
"currencyCode": "GBP",
"value": 75,
"type": "onetime",
"trigger": "subscription_start",
"repeat_interval": 1,
"repeat_interval_type": "months",
"repeat_count": 12,
"delay_trigger": "string",
"delay_interval": 1,
"delay_interval_type": "months"
}
],
"products": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
],
"status": "approved",
"description": "A starter offer which gives access to all Limio content",
"validFrom": 20190226,
"validTo": 20190305
}
}
}
]
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
}
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Found landing information | CampaignResponse |
401 | Unauthorized | When providing wrong or expired key/token | None |
getOffers
Code samples
# You can also use wget
curl -X GET /l-api/offers \
-H 'Accept: application/json' \
-H 'authorization: API_KEY'
var headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
$.ajax({
url: '/l-api/offers',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
fetch('/l-api/offers',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/l-api/offers", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'authorization': 'API_KEY'
}
r = requests.get('/l-api/offers', params={
}, headers = headers)
print r.json()
GET /l-api/offers
Retrieves all the offers in the Catalog matching the specified queries. It will retrieve an object containing a number for the amount of hits that responded to the query, an array with the details of these offers (limited to the pageSize property, default to 50) and a queryMore object for continuing query if the amount of hits exceeded the retrieved offers and pagination is activated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
path | query | string | false | Exact path to the object |
tags | query | string | false | To filter by associated tag to the object |
reducedData | query | boolean | false | Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size) |
opt.pageSize | query | number | false | Set the page size for the array response (default is 50 records). Bear in mind that response size limit is 6Mb so if you need to retrieve lots of data is probably best practice to use the queryMore functionality |
opt.modifiedAfter | query | string | false | Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00') |
opt.all | query | boolean | false | Indicate true to activate the pagination |
opt.queryMoreFrom | query | string | false | The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response) |
opt.queryMoreAlias | query | string | false | The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response) |
attributes.YOUR_ATTRIBUTE_HERE | query | string | false | To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates. |
Example responses
200 Response
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Limio Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Limio Regular Subscription",
"data": {
"attributes": {},
"price": [
{
"attributes": {},
"name": "charge_1",
"label": "Charge 1",
"currencyCode": "GBP",
"value": 75,
"type": "onetime",
"trigger": "subscription_start",
"repeat_interval": 1,
"repeat_interval_type": "months",
"repeat_count": 12,
"delay_trigger": "string",
"delay_interval": 1,
"delay_interval_type": "months"
}
],
"products": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
],
"status": "approved",
"description": "A starter offer which gives access to all Limio content",
"validFrom": 20190226,
"validTo": 20190305
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Found offers | OffersResponse |
401 | Unauthorized | When providing wrong or expired key/token | None |
getAssets
Code samples
# You can also use wget
curl -X GET /l-api/assets \
-H 'Accept: application/json' \
-H 'authorization: API_KEY'
var headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
$.ajax({
url: '/l-api/assets',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
fetch('/l-api/assets',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/l-api/assets", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'authorization': 'API_KEY'
}
r = requests.get('/l-api/assets', params={
}, headers = headers)
print r.json()
GET /l-api/assets
Retrieves all the assets in the Catalog matching the specified queries. It will retrieve an object containing a number for the amount of hits that responded to the query, an array with the details of these assets (limited to the pageSize property, default to 50) and a queryMore object for continuing query if the amount of hits exceeded the retrieved assets and pagination is activated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
path | query | string | false | Exact path to the object |
opt.pageSize | query | number | false | Set the page size for the array response (default is 50 records). Bear in mind that response size limit is 6Mb so if you need to retrieve lots of data is probably best practice to use the queryMore functionality |
opt.modifiedAfter | query | string | false | Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00') |
opt.all | query | boolean | false | Indicate true to activate the pagination |
opt.queryMoreFrom | query | string | false | The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response) |
opt.queryMoreAlias | query | string | false | The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response) |
attributes.YOUR_ATTRIBUTE_HERE | query | string | false | To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates. |
Example responses
200 Response
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "MyImage",
"parent_path": "/assets/image",
"path": "/assets/image/MyImage",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/assets",
"key": "1e1f1dd8-7609-4bb5-8ec0-7e0ec83abadd.png"
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Found assets | AssetsResponse |
401 | Unauthorized | When providing wrong or expired key/token | None |
getProducts
Code samples
# You can also use wget
curl -X GET /l-api/products \
-H 'Accept: application/json' \
-H 'authorization: API_KEY'
var headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
$.ajax({
url: '/l-api/products',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
fetch('/l-api/products',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/l-api/products", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'authorization': 'API_KEY'
}
r = requests.get('/l-api/products', params={
}, headers = headers)
print r.json()
GET /l-api/products
Retrieves all the products in the Catalog matching the specified queries. It will retrieve an object containing a number for the amount of hits that responded to the query, an array with the details of these products (limited to the pageSize property, default to 50) and a queryMore object for continuing query if the amount of hits exceeded the retrieved products and pagination is activated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
path | query | string | false | Exact path to the object |
opt.pageSize | query | number | false | Set the page size for the array response (default is 50 records). Bear in mind that response size limit is 6Mb so if you need to retrieve lots of data is probably best practice to use the queryMore functionality |
opt.modifiedAfter | query | string | false | Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00') |
opt.all | query | boolean | false | Indicate true to activate the pagination |
opt.queryMoreFrom | query | string | false | The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response) |
opt.queryMoreAlias | query | string | false | The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response) |
attributes.YOUR_ATTRIBUTE_HERE | query | string | false | To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates. |
Example responses
200 Response
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Found products | ProductsResponse |
401 | Unauthorized | When providing wrong or expired key/token | None |
getSegments
Code samples
# You can also use wget
curl -X GET /l-api/segments \
-H 'Accept: application/json' \
-H 'authorization: API_KEY'
var headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
$.ajax({
url: '/l-api/segments',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'authorization':'API_KEY'
};
fetch('/l-api/segments',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"authorization": []string{"API_KEY"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/l-api/segments", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'authorization': 'API_KEY'
}
r = requests.get('/l-api/segments', params={
}, headers = headers)
print r.json()
GET /l-api/segments
Retrieves all the segments in the Catalog matching the specified queries. It will retrieve an object containing a number for the amount of hits that responded to the query, an array with the details of these segments (limited to the pageSize property, default to 50) and a queryMore object for continuing query if the amount of hits exceeded the retrieved segments and pagination is activated.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
path | query | string | false | Exact path to the object |
opt.pageSize | query | number | false | Set the page size for the array response (default is 50 records). Bear in mind that response size limit is 6Mb so if you need to retrieve lots of data is probably best practice to use the queryMore functionality |
opt.modifiedAfter | query | string | false | Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00') |
opt.all | query | boolean | false | Indicate true to activate the pagination |
opt.queryMoreFrom | query | string | false | The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response) |
opt.queryMoreAlias | query | string | false | The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response) |
attributes.YOUR_ATTRIBUTE_HERE | query | string | false | To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates. |
Example responses
200 Response
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Finance",
"parent_path": "/segments/Interest",
"path": "/segments/Interest/Finance",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/segments"
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Found segments | SegmentsResponse |
401 | Unauthorized | When providing wrong or expired key/token | None |
getJourneys
Code samples
# You can also use wget
curl -X GET /l-api/journeys \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
var headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
$.ajax({
url: '/l-api/journeys',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('/l-api/journeys',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
"Authorization": []string{"Bearer {access-token}"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/l-api/journeys", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
import requests
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {access-token}'
}
r = requests.get('/l-api/journeys', params={
}, headers = headers)
print r.json()
GET /l-api/journeys
Retrieves all the journeys in the Catalog
Example responses
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | Found journeys | None |
401 | Unauthorized | When providing wrong or expired key/token | None |
Response Schema
Schemas
CampaignResponse
{
"hits": 1,
"header": {
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
},
"campaigns": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"parent_path": "/offers",
"path": "/offers/2019 Winter Campaign",
"attributes": {},
"name": "2019 Winter Campaign",
"data": {
"description": "A campaign for new Limio customers",
"headline": "Look at the Limio offers below!",
"subline": "They are great!",
"assets": [
null
],
"tags": [
"/tags/test"
],
"status": "draft",
"validFrom": 20190226,
"validTo": 20190305,
"associatedOffers": [
{
"type": "cross-sell",
"offer": {
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Limio Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Limio Regular Subscription",
"data": {
"attributes": {},
"price": [
{
"attributes": {},
"name": "charge_1",
"label": "Charge 1",
"currencyCode": "GBP",
"value": 75,
"type": "onetime",
"trigger": "subscription_start",
"repeat_interval": 1,
"repeat_interval_type": "months",
"repeat_count": 12,
"delay_trigger": "string",
"delay_interval": 1,
"delay_interval_type": "months"
}
],
"products": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
],
"status": "approved",
"description": "A starter offer which gives access to all Limio content",
"validFrom": 20190226,
"validTo": 20190305
}
}
}
]
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hits | number | false | none | Amount of records found on the catalog responding the query |
header | object | false | none | header with information about the requested data |
» commitId | string | false | none | the commitId from the index used to query |
campaigns | [Campaign] | false | none | Campaigns retrieved |
queryMore | queryMore | false | none | query more object used for pagination |
OffersResponse
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Limio Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Limio Regular Subscription",
"data": {
"attributes": {},
"price": [
{
"attributes": {},
"name": "charge_1",
"label": "Charge 1",
"currencyCode": "GBP",
"value": 75,
"type": "onetime",
"trigger": "subscription_start",
"repeat_interval": 1,
"repeat_interval_type": "months",
"repeat_count": 12,
"delay_trigger": "string",
"delay_interval": 1,
"delay_interval_type": "months"
}
],
"products": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
],
"status": "approved",
"description": "A starter offer which gives access to all Limio content",
"validFrom": 20190226,
"validTo": 20190305
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hits | number | false | none | Amount of records found on the catalog responding the query |
items | [Offer] | false | none | Offers retrieved |
queryMore | queryMore | false | none | query more object used for pagination |
commitId | string | false | none | the commitId from the index used to query |
ProductsResponse
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hits | number | false | none | Amount of records found on the catalog responding the query |
items | [Product] | false | none | Products retrieved |
queryMore | queryMore | false | none | query more object used for pagination |
commitId | string | false | none | the commitId from the index used to query |
SegmentsResponse
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Finance",
"parent_path": "/segments/Interest",
"path": "/segments/Interest/Finance",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/segments"
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hits | number | false | none | Amount of records found on the catalog responding the query |
items | [Segment] | false | none | Segments retrieved |
queryMore | queryMore | false | none | query more object used for pagination |
commitId | string | false | none | the commitId from the index used to query |
AssetsResponse
{
"hits": 1,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "MyImage",
"parent_path": "/assets/image",
"path": "/assets/image/MyImage",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/assets",
"key": "1e1f1dd8-7609-4bb5-8ec0-7e0ec83abadd.png"
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
hits | number | false | none | Amount of records found on the catalog responding the query |
items | [Asset] | false | none | Assets retrieved |
queryMore | queryMore | false | none | query more object used for pagination |
commitId | string | false | none | the commitId from the index used to query |
Campaign
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"parent_path": "/offers",
"path": "/offers/2019 Winter Campaign",
"attributes": {},
"name": "2019 Winter Campaign",
"data": {
"description": "A campaign for new Limio customers",
"headline": "Look at the Limio offers below!",
"subline": "They are great!",
"assets": [
null
],
"tags": [
"/tags/test"
],
"status": "draft",
"validFrom": 20190226,
"validTo": 20190305,
"associatedOffers": [
{
"type": "cross-sell",
"offer": {
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Limio Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Limio Regular Subscription",
"data": {
"attributes": {},
"price": [
{
"attributes": {},
"name": "charge_1",
"label": "Charge 1",
"currencyCode": "GBP",
"value": 75,
"type": "onetime",
"trigger": "subscription_start",
"repeat_interval": 1,
"repeat_interval_type": "months",
"repeat_count": 12,
"delay_trigger": "string",
"delay_interval": 1,
"delay_interval_type": "months"
}
],
"products": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
],
"status": "approved",
"description": "A starter offer which gives access to all Limio content",
"validFrom": 20190226,
"validTo": 20190305
}
}
}
]
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Campaign id in the Elastic index |
parent_path | string | false | none | Parent Path |
path | string | false | none | Path to the campaigns |
attributes | object | false | none | Attribures of campaign |
name | string | false | none | Name of campaign |
data | object | false | none | data object |
» description | string | false | none | Description of campaign |
» headline | string | false | none | Headline of campaign |
» subline | string | false | none | Subline of campaign |
» assets | [#/components/schemas/Asset] | false | none | Assets attached to campaign |
» tags | [string] | false | none | Tags attached to campaign |
» status | string | false | none | Campaign status |
» validFrom | string | false | none | Date campaign is valid from |
» validTo | string | false | none | Date campaign is valid until |
» associatedOffers | [AssociatedOffer] | false | none | Different offers associated with this campaign eg. 'cross-sell', 'upsell' or 'save' |
Offer
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Limio Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Limio Regular Subscription",
"data": {
"attributes": {},
"price": [
{
"attributes": {},
"name": "charge_1",
"label": "Charge 1",
"currencyCode": "GBP",
"value": 75,
"type": "onetime",
"trigger": "subscription_start",
"repeat_interval": 1,
"repeat_interval_type": "months",
"repeat_count": 12,
"delay_trigger": "string",
"delay_interval": 1,
"delay_interval_type": "months"
}
],
"products": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
],
"status": "approved",
"description": "A starter offer which gives access to all Limio content",
"validFrom": 20190226,
"validTo": 20190305
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Offer id in the Elastic index |
name | string | false | none | Offer name |
parent_path | string | false | none | Parent Path |
path | string | false | none | Path to the offer |
data | object | false | none | Data attached to offer |
» attributes | object | false | none | none |
» price | [object] | false | none | Prices of offer |
»» attributes | object | false | none | none |
»» name | string | false | none | Charge name |
»» label | string | false | none | Label for charge |
»» currencyCode | string | false | none | Currency of charge |
»» value | string | false | none | Value of charge |
»» type | string | false | none | Pricing type |
»» trigger | string | false | none | Trigger for the charge |
»» repeat_interval | integer | false | none | Number of repeat_interval_type between charges |
»» repeat_interval_type | string | false | none | The unit between charges |
»» repeat_count | integer | false | none | The number of times the charge will be repeated |
»» delay_trigger | string | false | none | Delay to charge trigger |
»» delay_interval | integer | false | none | Number of delay_interval_type that charge will be delayed |
»» delay_interval_type | string | false | none | The unit charge will be delayed |
» products | [Product] | false | none | Products attached to offer |
» segments | [string] | false | none | Segments attached to offer |
» tags | [string] | false | none | Tags attached to campaign |
» status | string | false | none | Offer status |
» description | string | false | none | Offer description |
» validFrom | string | false | none | Date offer is valid from |
» validTo | string | false | none | Date offer is valid until |
Product
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Product id in the Elastic index |
name | string | false | none | Name of product |
parent_path | string | false | none | Parent Path |
path | string | false | none | Product path |
data | object | false | none | none |
» attributes | object | false | none | Attributes for product |
» baseTemplate | string | false | none | Template for product attributes |
Segment
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Finance",
"parent_path": "/segments/Interest",
"path": "/segments/Interest/Finance",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/segments"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Segment id in the Elastic index |
name | string | false | none | Name of segment |
parent_path | string | false | none | Parent Path |
path | string | false | none | Segment path |
data | object | false | none | none |
» attributes | object | false | none | Attributes for segment |
» baseTemplate | string | false | none | Template for segment attributes |
Asset
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "MyImage",
"parent_path": "/assets/image",
"path": "/assets/image/MyImage",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/assets",
"key": "1e1f1dd8-7609-4bb5-8ec0-7e0ec83abadd.png"
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string | false | none | Asset id in the Elastic index |
name | string | false | none | Name of asset |
parent_path | string | false | none | Parent Path |
path | string | false | none | Asset path |
data | object | false | none | none |
» attributes | object | false | none | Attributes for asset |
» baseTemplate | string | false | none | Template for asset attributes |
» key | string | false | none | S3 key for asset |
AssociatedOffer
{
"type": "cross-sell",
"offer": {
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Limio Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Limio Regular Subscription",
"data": {
"attributes": {},
"price": [
{
"attributes": {},
"name": "charge_1",
"label": "Charge 1",
"currencyCode": "GBP",
"value": 75,
"type": "onetime",
"trigger": "subscription_start",
"repeat_interval": 1,
"repeat_interval_type": "months",
"repeat_count": 12,
"delay_trigger": "string",
"delay_interval": 1,
"delay_interval_type": "months"
}
],
"products": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Entertainment Pass",
"parent_path": "/products/Streaming",
"path": "/products/Streaming/Entertainment Pass",
"data": {
"attributes": {},
"baseTemplate": "/config/templates/products"
}
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
],
"status": "approved",
"description": "A starter offer which gives access to all Limio content",
"validFrom": 20190226,
"validTo": 20190305
}
}
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
type | string | false | none | The type of associated offer can be of type "cross-sell", "upsell" or "save" |
offer | Offer | false | none | none |
queryMore
{
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
}
query more object used for pagination
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
from | string | false | none | The From Hash used to fetch next page of the query |
alias | string | false | none | The Alias used to fetch next page of the query |