Catalog API
You can get catalog data from your Limio app via our Catalog REST API.
See below for full documentation: Limio Catalog REST API Documentation
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.
Exact path to the object
To filter by associated tag to the object
Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size)
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
Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00')
2020-12-01T16:00
Indicate true to activate the pagination
The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response)
The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response)
To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.
Due Upon Receipt
GET /api/campaigns HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
"hits": 1,
"header": {
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
},
"items": [],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251 SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFa aUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
}
}
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.
Note: this API will return all offers in the catalog, including legacy offers (that contain the path /offers AKA campaigns), and standalone offers (that contain the path /offers2). If you want to retrieve only V2 offers, please use the getOffersV2 endpoint.
Exact path to the object
To filter by associated tag to the object
Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size)
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
Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00')
2020-12-01T16:00
Indicate true to activate the pagination
The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response)
The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response)
To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.
Due Upon Receipt
GET /api/offers HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
"hits": 2,
"items": [
{
"id": "d89c80cd3919a193da90c6a141b0040b3663a8d0.97d170e1550eee4afc0af065b78cda302a97674c",
"name": "Regular Subscription",
"parent_path": "/offers/2019 Winter Campaign",
"path": "/offers/2019 Winter Campaign/Regular Subscription",
"data": {
"attributes": {
"price": [
{
"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": null,
"delay_interval": 1,
"delay_interval_type": "months",
"attributes": {}
}
]
},
"products": [
{
"id": "prod_abc123",
"name": "Digital"
}
],
"segments": [
"/segments/regions/UK/UK/GB"
],
"tags": [
"/tags/test"
]
}
},
{
"id": "fab052ce94fbfd0d3663ec0cb9d9773676593684",
"name": "Digital offer",
"path": "/offers2/Digital offer",
"created": "2024-02-08T09:54:10+00:00",
"modified": "2024-03-08T10:53:37+00:00",
"version": "101d166f7386bb9f1c76354124a4b51bbe393ccc",
"version_date": "2024-03-11T15:33:12.072Z",
"record_type": "offer",
"duplicatedFrom": "/offers2/Delivery offer",
"baseTemplate": "/config/templates/offers/default",
"priceReference": "/offers2/Delivery offer",
"user": "[email protected]",
"data": {
"attributes": {
"checkout_description__limio": "<p>Description</p>",
"display_name__limio": "Delivery Offer",
"allowed_countries__limio": [
"GB"
],
"checkout__limio": {
"checkout_type": "external",
"external_url": "/checkout"
},
"label__limio": [
"offers"
],
"term__limio": {
"renewal_type": "TERMED",
"renewal_trigger": "EXTERNAL"
},
"push_to_checkout__limio": true,
"initial_term__limio": {
"renewal_type": "TERMED",
"renewal_trigger": "EXTERNAL"
}
},
"price": [
{
"delay_interval_type": "months",
"delay_interval": null,
"label": "Charge 1",
"trigger": "order_date",
"repeat_count": 1,
"type": "onetime",
"name": "charge_1",
"repeat_interval": 1,
"attributes": {},
"repeat_interval_type": "months",
"value": "1.00",
"currencyCode": "GBP"
}
],
"productBundles": [
{
"product_path": "/products/Digital",
"revenue_split": "100",
"rate_plan": "Canada Annual"
}
],
"products": [
{
"baseTemplate": "/config/templates/products/default",
"path": "/products/Digital",
"lastSynced": "2024-03-07T15:03:10.427Z",
"synced": true,
"created": "2024-02-01T10:09:30+00:00",
"syncedFrom": "2c92c0f9778c090d0177aa4f357d043b",
"modified": "2024-03-07T15:03:10+00:00",
"attributes": {
"display_name__limio": "Digital",
"has_delivery__limio": false,
"product_code__limio": "LI.DIGITAL"
},
"record_type": "product"
}
]
}
}
],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251 SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFa aUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Retrieves all the standalone 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.
Note: this API will return only standalone offers (that contain the path /offers2). If you want to retrieve all offers in the catalog, including legacy offers (that contain the path /offers AKA campaigns), please use the getOffers endpoint.
V2 offers are offers that are created using the new offer creation flow. They are standalone offers that are not part of a campaign, but can be attached to campaigns / pages using labels. They are created using the new offer creation flow and are more flexible than legacy offers.
V2 offers can also be versioned - you can find out more about offer versioning at the following resources:
If you have the Published Offers API enabled, the API will, by default, return only the published offersV2. To retrieve all offersV2 in your catalog, including both published and unpublished, you can use the offersSource query parameter.
Specifies the source for fetching offers. catalog
Retrieves all offersV2 from your catalog. published
Retrieves only published offers.
Exact path to the object
To filter by associated tag to the object
Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size)
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
Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00')
2020-12-01T16:00
Indicate true to activate the pagination
The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response)
The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response)
To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.
Due Upon Receipt
GET /api/offers/v2 HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"hits": 1,
"items": [],
"queryMore": {
"from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH_TFnZndVVMaWN4VFZDbnVIbGpRRDFaaUEAAAAAABh_1BZ2Z3VVTGljeFRWQ251 SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFa aUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
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.
Exact path to the object
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
Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00')
2020-12-01T16:00
Indicate true to activate the pagination
The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response)
The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response)
To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.
Due Upon Receipt
GET /api/assets HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
"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_1BZ2Z3VVTGljeFRWQ251 SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFa aUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
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.
Exact path to the object
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
Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00')
2020-12-01T16:00
Indicate true to activate the pagination
The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response)
The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response)
To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.
Due Upon Receipt
GET /api/products HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
"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_1BZ2Z3VVTGljeFRWQ251 SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFa aUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
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.
Exact path to the object
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
Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00')
2020-12-01T16:00
Indicate true to activate the pagination
The From Hash for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.from in the response)
The Alias for the query more functionality. Use it to fetch next page of the query (obtained from queryMore.alias in the response)
To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.
Due Upon Receipt
GET /api/segments HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
"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_1BZ2Z3VVTGljeFRWQ251 SGxqUUQxWmlBAAAAAAAYf9YWdmd1VUxpY3hUVkNudUhsalFEMVppQQAAAAAAGH_XFnZndVVMaWN4VFZDbnVIbGpRRDFa aUEAAAAAABh_1RZ2Z3VVTGljeFRWQ251SGxqUUQxWmlB",
"alias": "catalog_test.test0.dev.limio.com"
},
"commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Retrieves all the journeys in the Catalog
GET /api/journeys HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
"starting_point": "/cancel-now/",
"fallback_tag": "/cancel/",
"journeys": [
{
"id": "0dd1b0b0-22b1-400e-8590-301aabd50a69",
"conditions": [
{
"id": "c10cb349-e06a-4a13-bd87-edb40aae77dc",
"type": "segment",
"value": "/segments/123abc"
}
],
"actions": [
{
"id": "a9e2204a-8fa0-4d17-83cc-1f6c0838daaf",
"type": "destination",
"values": [
{
"id": "a5113403-7e7d-4c46-9d08-13d79e9df9d1",
"tag": "/tags/cancel-discount",
"split": "100"
}
]
}
]
}
]
}
This API allows you to perform bulk update operations on Limio catalog items (such as offers, add-ons etc.). This can be useful for updating multiple items at once, for example, when you want to update the price of multiple offers at the same time.
PUT /api/limio/catalogs/1/bulk-update HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 78
{
"diffs": [
{
"path": "text",
"diff": {
"attributes": {
"example_attribute": "text"
}
}
}
]
}
{
"success": "text",
"failed": []
}
Last updated
Was this helpful?