NAV Navigation
Shell JavaScript Node.js Go Python

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

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