For the complete documentation index, see llms.txt. This page is also available as Markdown.

Deprecated Catalog Reads

One endpoint for each record type, answering from the same index as /catalog_items. They are superseded and they stay only for the integrations that call them.

Use /catalog_items or /published_catalog_items for new work. Read the description of each endpoint first: some hold behaviour that the two general endpoints do not have yet.

Deprecated

Get Pages

get

Superseded. Use GET /catalog_items?record_type=page for the working copy, or GET /published_catalog_items?record_type=page for the published copy. This endpoint answers from the same index and stays only for the integrations that call it.

This endpoint reads the /pages tree. /catalog_items with record_type=page reads /pages2, which is the tree that the platform gives the page record type. The two answer with different records, so compare them before you move.

Retrieves published pages that match the supplied query parameters. The response includes metadata about the total matches, paging details, and the matching page definitions.

Authorizations
AuthorizationstringRequired

Publishable API key for read-only catalog access. Suitable for client-side or public-facing integrations where only catalog data (offers, products, pages, segments) is needed.

Generate a key in the Limio dashboard. See Authentication for details.

Query parameters
pathstringOptional

Filter by the exact catalog path of the item, e.g. /offers/2024 Summer Campaign or /pages/Homepage.

Example: /offers/2024 Summer Campaign
tagsstringOptional

Filter by a tag path in the tags list of the record, e.g. /tags/main. Give the whole tag path. Pages carry tags. Offers seldom do, so on offers this filter usually answers with no records, not with an error. To find the offers with a label, use attributes.label__limio instead.

Example: /tags/main
opt.pageSizeintegerOptional

Number of items per page (default 50, maximum 160). The response size limit is 6 MB, so use smaller page sizes with queryMore pagination when retrieving large datasets. Note: this parameter cannot be used in combination with opt.all=true — once opt.all is set, the page size cannot be increased.

Default: 50Example: 50
opt.modifiedAfterstring · date-timeOptional

Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00:00Z')

Example: 2020-12-01T16:00:00Z
opt.allbooleanOptional

Set to true to enable cursor-based pagination. When enabled, the response includes a queryMore object with from and alias fields that can be passed to subsequent requests to retrieve the next page. A maximum of 100 items will be returned per page when active.

Default: false
opt.queryMoreFromstringOptional

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

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_HEREstringOptional

To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.

Example: Due Upon Receipt
Responses
200

OK

application/json

Paginated list of published pages.

commitIdstringOptional

Commit identifier for the source index.

Example: e44d0795e9d0aa78ddea15c3e925cfd581adfb04
buildIdstringOptional

Build identifier of the index queried.

Example: build-20240501010101
indexNamestringOptional

Name of the Elastic index queried.

Example: catalog_example_default
get/pages
GET /api/pages HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "items": [
    {
      "id": "4b4f1a8457f4fb4a9c7c2a8da2c9b8f4a1b2c3d4.Default",
      "parent_path": "/pages",
      "path": "/pages/default",
      "name": "Default Page",
      "type": "page",
      "version": "1.0.0",
      "attributes": {},
      "data": {}
    }
  ],
  "hits": {
    "value": 1,
    "relation": "eq"
  },
  "queryMore": {
    "from": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAABCD",
    "alias": "catalog_example.example.dev.limio.com"
  },
  "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04",
  "buildId": "build-20240501010101",
  "indexName": "catalog_example_default"
}
Deprecated

Get Offers V2

get

Superseded. Use GET /catalog_items?record_type=offer for the working copy, or GET /published_catalog_items?record_type=offer for the published copy. This endpoint answers from the same index and stays only for the integrations that call it.

This endpoint accepts offersSource to choose the catalog index or the published index. /catalog_items reads the catalog index and /published_catalog_items reads the published one. It also accepts customer_segment, which expands to the tags of the journeys that match the segment. /catalog_items does not do that yet.

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, a maximum of 160 items will be returned) and a queryMore object for continuing query if the amount of hits exceeded the retrieved offers and pagination is activated.

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.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token for authenticated API access. Required for order submission, object management, and administrative operations.

Obtain a token via the OAuth flow described in OAuth Bearer Token.

Pass the token in the Authorization header: Bearer <token>

Query parameters
offersSourcestring · enumOptional

Specifies the source for fetching offers. catalog Retrieves all offersV2 from your catalog. published Retrieves only published offers.

Possible values:
pathstringOptional

Filter by the exact catalog path of the item, e.g. /offers/2024 Summer Campaign or /pages/Homepage.

Example: /offers/2024 Summer Campaign
tagsstringOptional

Filter by a tag path in the tags list of the record, e.g. /tags/main. Give the whole tag path. Pages carry tags. Offers seldom do, so on offers this filter usually answers with no records, not with an error. To find the offers with a label, use attributes.label__limio instead.

Example: /tags/main
reducedDatabooleanOptional

Set to true to leave out a fixed set of heavy display attributes (assets, attachments, checkout, offer features and styling) and the attributes of each expanded product. It is not a projection: it does not take a list of fields, and it does not remove a large attribute array such as allowed_countries. Use it to trim a response, not to choose what a response holds.

opt.pageSizeintegerOptional

Number of items per page (default 50, maximum 160). The response size limit is 6 MB, so use smaller page sizes with queryMore pagination when retrieving large datasets. Note: this parameter cannot be used in combination with opt.all=true — once opt.all is set, the page size cannot be increased.

Default: 50Example: 50
opt.modifiedAfterstring · date-timeOptional

Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00:00Z')

Example: 2020-12-01T16:00:00Z
opt.allbooleanOptional

Set to true to enable cursor-based pagination. When enabled, the response includes a queryMore object with from and alias fields that can be passed to subsequent requests to retrieve the next page. A maximum of 100 items will be returned per page when active.

Default: false
opt.queryMoreFromstringOptional

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

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_HEREstringOptional

To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.

Example: Due Upon Receipt
Responses
200

OK

application/json
commitIdstringOptional

the commitId from the index used to query

Example: e44d0795e9d0aa78ddea15c3e925cfd581adfb04
get/offers/v2
GET /api/offers/v2 HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "hits": {
    "value": 1,
    "relation": "eq"
  },
  "items": [
    {
      "id": "a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2",
      "name": "SaaS Premium Annual",
      "path": "/offers2/SaaS Premium Annual",
      "version": "f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3b2a1f6e5",
      "record_type": "offer",
      "data": {
        "name": "SaaS Premium Annual",
        "path": "/offers2/SaaS Premium Annual",
        "attributes": {
          "display_name__limio": "SaaS Premium Annual",
          "price__limio": [
            {
              "name": "charge_1",
              "value": "999",
              "currencyCode": "USD",
              "type": "recurring",
              "trigger": "subscription_start",
              "repeat_interval": 1,
              "repeat_interval_type": "years",
              "repeat_count": 1
            }
          ],
          "label__limio": [
            "saas"
          ],
          "term__limio": {
            "renewal_type": "TERMED",
            "length": 1,
            "type": "years"
          },
          "cross_sell_addons__limio": {
            "item_label": "saas",
            "item_type": "add_on",
            "items": [
              {
                "path": "/add_ons/AI Credit Add-On",
                "id": "b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3"
              }
            ]
          },
          "payment_types__limio": [
            "zuora_card",
            "invoice"
          ],
          "push_to_checkout__limio": true,
          "autoRenew__limio": true
        },
        "products": [
          {
            "path": "/products/SaaS Platform",
            "record_type": "product",
            "attributes": {
              "display_name__limio": "SaaS Platform"
            }
          }
        ],
        "productBundles": [
          {
            "product_path": "/products/SaaS Platform",
            "revenue_split": "100",
            "rate_plan": "Premium Annual"
          }
        ]
      }
    }
  ],
  "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Deprecated

Get Add Ons

get

Superseded. Use GET /catalog_items?record_type=add_on for the working copy, or GET /published_catalog_items?record_type=add_on for the published copy. This endpoint answers from the same index and stays only for the integrations that call it.

This endpoint accepts addOnsSource to choose the catalog index or the published index. /catalog_items reads the catalog index and /published_catalog_items reads the published one.

Retrieves all the standalone add ons 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 add ons (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.

Authorizations
AuthorizationstringRequired

OAuth 2.0 Bearer token for authenticated API access. Required for order submission, object management, and administrative operations.

Obtain a token via the OAuth flow described in OAuth Bearer Token.

Pass the token in the Authorization header: Bearer <token>

Query parameters
pathstringOptional

Filter by the exact catalog path of the item, e.g. /offers/2024 Summer Campaign or /pages/Homepage.

Example: /offers/2024 Summer Campaign
addOnsSourcestring · enumOptional

Specifies the source for fetching Add Ons. catalog Retrieves all add ons from your catalog. published Retrieves only published add ons.

Possible values:
reducedDatabooleanOptional

Set to true to leave out a fixed set of heavy display attributes (assets, attachments, checkout, offer features and styling) and the attributes of each expanded product. It is not a projection: it does not take a list of fields, and it does not remove a large attribute array such as allowed_countries. Use it to trim a response, not to choose what a response holds.

opt.pageSizeintegerOptional

Number of items per page (default 50, maximum 160). The response size limit is 6 MB, so use smaller page sizes with queryMore pagination when retrieving large datasets. Note: this parameter cannot be used in combination with opt.all=true — once opt.all is set, the page size cannot be increased.

Default: 50Example: 50
opt.modifiedAfterstring · date-timeOptional

Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00:00Z')

Example: 2020-12-01T16:00:00Z
opt.allbooleanOptional

Set to true to enable cursor-based pagination. When enabled, the response includes a queryMore object with from and alias fields that can be passed to subsequent requests to retrieve the next page. A maximum of 100 items will be returned per page when active.

Default: false
opt.queryMoreFromstringOptional

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

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_HEREstringOptional

To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.

Example: Due Upon Receipt
Responses
200

OK

application/json
commitIdstringOptional

the commitId from the index used to query

Example: e44d0795e9d0aa78ddea15c3e925cfd581adfb04
get/add_ons
GET /api/add_ons HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "hits": {
    "value": 1,
    "relation": "eq"
  },
  "items": [
    {
      "id": "b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3",
      "name": "AI Credit Add-On",
      "path": "/add_ons/AI Credit Add-On",
      "version": "e5d4c3b2a1f6e5d4c3b2a1f6e5d4c3b2a1f6e5d4",
      "record_type": "add_on",
      "data": {
        "name": "AI Credit Add-On",
        "path": "/add_ons/AI Credit Add-On",
        "attributes": {
          "display_name__limio": "AI Credit Add-On",
          "price__limio": [
            {
              "name": "charge_1",
              "value": "499",
              "currencyCode": "USD",
              "type": "recurring",
              "trigger": "subscription_start",
              "repeat_interval": 1,
              "repeat_interval_type": "years",
              "repeat_count": 1
            }
          ],
          "label__limio": [
            "saas"
          ],
          "term__limio": {
            "renewal_type": "TERMED",
            "length": 1,
            "type": "years"
          }
        },
        "products": [
          {
            "path": "/products/AI Credits",
            "record_type": "product",
            "attributes": {
              "display_name__limio": "AI Credits"
            }
          }
        ],
        "productBundles": [
          {
            "product_path": "/products/AI Credits",
            "revenue_split": "100",
            "rate_plan": "Annual Add-On"
          }
        ]
      }
    }
  ],
  "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}
Deprecated

Get Products

get

Superseded. Use GET /catalog_items?record_type=product for the working copy, or GET /published_catalog_items?record_type=product for the published copy. This endpoint answers from the same index and stays only for the integrations that call it.

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.

Authorizations
AuthorizationstringRequired

Publishable API key for read-only catalog access. Suitable for client-side or public-facing integrations where only catalog data (offers, products, pages, segments) is needed.

Generate a key in the Limio dashboard. See Authentication for details.

Query parameters
pathstringOptional

Filter by the exact catalog path of the item, e.g. /offers/2024 Summer Campaign or /pages/Homepage.

Example: /offers/2024 Summer Campaign
opt.pageSizeintegerOptional

Number of items per page (default 50, maximum 160). The response size limit is 6 MB, so use smaller page sizes with queryMore pagination when retrieving large datasets. Note: this parameter cannot be used in combination with opt.all=true — once opt.all is set, the page size cannot be increased.

Default: 50Example: 50
opt.modifiedAfterstring · date-timeOptional

Filter items modified after the indicated date or date-time (ISO-date format, i.e '2020-12-01' or '2020-12-01T16:00:00Z')

Example: 2020-12-01T16:00:00Z
opt.allbooleanOptional

Set to true to enable cursor-based pagination. When enabled, the response includes a queryMore object with from and alias fields that can be passed to subsequent requests to retrieve the next page. A maximum of 100 items will be returned per page when active.

Default: false
opt.queryMoreFromstringOptional

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

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_HEREstringOptional

To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.

Example: Due Upon Receipt
Responses
200

OK

application/json
commitIdstringOptional

the commitId from the index used to query

Example: e44d0795e9d0aa78ddea15c3e925cfd581adfb04
get/products
GET /api/products HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "hits": {
    "value": 1,
    "relation": "eq"
  },
  "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"
}
Deprecated

Get Segments

get

Superseded. Use GET /catalog_items?record_type=segment for the working copy, or GET /published_catalog_items?record_type=segment for the published copy. This endpoint answers from the same index and stays only for the integrations that call it.

Retrieves 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 and an array with the details of these segments. A single page of up to 160 segments is returned. This endpoint does not support pagination or page-size options, and the queryMore object is not returned.

Authorizations
AuthorizationstringRequired

Publishable API key for read-only catalog access. Suitable for client-side or public-facing integrations where only catalog data (offers, products, pages, segments) is needed.

Generate a key in the Limio dashboard. See Authentication for details.

Query parameters
pathstringOptional

Filter by the exact catalog path of the item, e.g. /offers/2024 Summer Campaign or /pages/Homepage.

Example: /offers/2024 Summer Campaign
attributes.YOUR_ATTRIBUTE_HEREstringOptional

To query with attributes, replace 'YOUR_ATTRIBUTE_HERE' with your attribute. Attributes are defined by your templates.

Example: Due Upon Receipt
Responses
200

OK

application/json
commitIdstringOptional

the commitId from the index used to query

Example: e44d0795e9d0aa78ddea15c3e925cfd581adfb04
get/segments
GET /api/segments HTTP/1.1
Host: your-environment.prod.limio.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "hits": {
    "value": 1,
    "relation": "eq"
  },
  "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"
}

Last updated

Was this helpful?