Limio Commerce API (1.0.0)

Download OpenAPI specification:Download

A collection of APIs designed for interacting with Limio services.

Send Orders

APIs related to sending Limio Orders

Submit Order

Submit an order directly to Limio. This will apply the changes immediately and can be used to update a subscription, change the offer, or update customer details.

SecuritybearerAuth
Request
Request Body schema: application/json
required
One of:

Create a new subscription

external_id
string

external order reference

initiated_source
string

initiated source of the order. "shop" and "salesforce" used by limio.

source
string

source of the order. "shop" and "salesforce" used by limio.

process_immediately
boolean

if true the order is processed synchronously

order_type
required
string
Value: "new"
required
Array of objects
Array
object (OfferPayload)

Details of a published Limio Offer

quantity
number
object (OrderDiscount)

Order Discount

name
string

The name of the order discount

object
object
object
object (ProductDetails)
baseTemplate
string
Array of objects (Entitlement)
path
string
created
string <date-time>
modified
string <date-time>
object (ProductAttributes)
record_type
string
lastSynced
string <date-time>
synced
boolean
syncedFrom
string
object
discountType
string

The type of the discount

durationLength
number

The period of time the discount is applied

durationType
string

The type of period of time the discount is applied

percentageDiscount
number

The percentage of the discount

amountDiscount
number

The amount of the discount

currency
string

The currency of the discount

object
required
object (Address)

Address

firstName
string
lastName
string
email
string
phone
string
company
string
address1
string
address2
string
city
string
state
string
postalCode
string
country
string
object (Address)

Address

firstName
string
lastName
string
email
string
phone
string
company
string
address1
string
address2
string
city
string
state
string
postalCode
string
country
string
required
object (CustomerDetails)
firstName
string
lastName
string
phone
string
email
string
object (Tracking)
offers
Array of strings
purchaseCountryCode
string
accountId
string
contactId
string
userId
string
required
ZuoraPayment (object)

Payment

One of:

Zuora Payment Method

type
string
Value: "zuora"
object
refId
string

The Zuora ID of the payment method to use for the payment

paymentGateway
string

The Zuora payment gateway to use for processing the payment

orderDate
string <date-time>

the date on which the subscription should start

checkoutId
required
string

the limio session checkout id for this order

country
required
string

the country code of the customer's purchase location

Responses
200

OK

401

Unauthorized

404

Not found

502

Bad Gateway

post/order
Request samples
application/json
{
  • "external_id": "string",
  • "initiated_source": "string",
  • "source": "string",
  • "process_immediately": true,
  • "order_type": "new",
  • "orderItems": [
    ],
  • "orderDiscount": {
    },
  • "billingDetails": {
    },
  • "deliveryDetails": {
    },
  • "customerDetails": {
    },
  • "tracking": {
    },
  • "payment": {
    },
  • "orderDate": "2020-01-01T00:00:00Z",
  • "checkoutId": "basket-22e3d318-92e2-4909-b59c-1265623bc3f6",
  • "country": "GB"
}
Response samples
application/json
{
  • "id": "string",
  • "order_reference": "string",
  • "status": "string",
  • "external_id": "string",
  • "subscriptionReference": "string",
  • "owner": "string"
}

Preview Order

Preview an order in Limio to see the changes that will be applied. This can be used to show the user what will happen before they confirm the order, including changes to future charges, the effective date of the change, and any other details.

SecuritybearerAuth
Request
Request Body schema: application/json
required
external_id
string

external order reference

initiated_source
string

initiated source of the order. "shop" and "salesforce" used by limio.

source
string

source of the order. "shop" and "salesforce" used by limio.

process_immediately
boolean

if true the order is processed synchronously

order_type
required
string
required
SubscriptionByName (object) or SubscriptionById (object)

Subscription to update

One of:

Update subscription by name

name
string
required
object (OfferPayload)

Details of a published Limio Offer

id
required
string

The ID of the Offer

version
required
string

The version ID of the Offer

effectiveDate
string <date-time>

The date on which the Offer change will be effective. If not provided, the change will be effective at the end of the current term.

Responses
200

OK

401

Unauthorized

404

Not found

502

Bad Gateway

post/order/preview
Request samples
application/json
{
  • "external_id": "string",
  • "initiated_source": "string",
  • "source": "string",
  • "process_immediately": true,
  • "order_type": "change_offer",
  • "forSubscription": {
    },
  • "offer": {
    },
  • "effectiveDate": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "preview": {
    },
  • "schedule": [
    ]
}

Subscription

APIs related to Limio Subscriptions

Get subscriptions by Salesforce ID

This API can be used to see all of the subscriptions that are attached to a specified Salesforce ID.

SecuritybearerAuth
Request
path Parameters
id
required
string

The Salesforce Identity

Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/objects/salesforce/identities/{id}/subscriptions
Request samples
Response samples
application/json
{
  • "subscriptions": [
    ],
  • "customers": [
    ]
}

Identities

APIs related to Limio Identities

Add external identity

This API can be used to add an external identity to an existing Limio identity. This can be used in this case where an organisation wants to purchase multiple subscriptions for their employees, and they want to link their existing Limio identity to their organisation's identity.

SecuritybearerAuth
Request
header Parameters
Cookie
required
string

Cookie including lmo_uid is required

Example: lmo_uid=your_cookie_value
xLimioHost
required
string

xLimioHost domain is required

Example: your.domain.com
Request Body schema: application/json
required
object

id_token

iss
string
sub
string
Responses
200

OK

401

Unauthorized

404

Not found

post/objects/externalidentity
Request samples
application/json
{}
Response samples
application/json
{
  • "name": "John Doe",
  • "data": {},
  • "status": "active",
  • "record_type": "identity",
  • "record_variant": "@limio/external-id",
  • "owner": "123456789012345678901",
  • "id": "12345678901234564923810",
  • "service": "limio",
  • "created": "2021-01-01T00:00:00.000Z",
  • "updated": "2021-01-01T00:00:00.000Z",
  • "mode": "production"
}

Remove external identity

Remove an external identity from an existing Limio identity

SecuritybearerAuth
Request
Request Body schema: application/json
required
object

id_token

iss
string
sub
string
Responses
200

OK

401

Unauthorized

404

Not found

502

Bad Gateway

delete/objects/externalidentity
Request samples
application/json
{}
Response samples
application/json
{ }

Basket

APIs related to retrieving Limio Baskets

Get Abandoned Baskets

This API allows you to get a list of abandoned baskets in Limio and filter the results by the date the basket was created. An abandoned basket is one where a basket was started on the Limio checkout but the order was never completed.

You can use the Abandoned Baskets API for actions such as:

  • Obtaining marketing information on customers who have abandoned their checkout.
  • Gathering information that can be used to remarket to abandoned checkout customers.
  • Understanding customer behaviour.
  • Tracking abandoned checkouts over time.
  • Viewing abandoned checkout items.
SecuritybearerAuth
Request
query Parameters
limit
required
number

The number of objects to return.

Example: limit=10
createdAfter
required
string <date-time>

Filter items created after the provided ISO date-time string

Example: createdAfter=2020-12-01T16:00
queryMore
string

Retrieves the next page of results. Use the queryMore returned in the previous response.

Example: queryMore=DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/checkout/abandoned
Request samples
Response samples
application/json
{
  • "items": [
    ],
  • "queryMore": {
    }
}

Session

APIs related to User Sessions

Get User Entitlements

This API allows you to get the entitlements of a user session. Entitlements are the rights and permissions that a user has to access certain resources or perform certain actions. This can be useful for understanding what a user is currently entitled to access.

SecuritysessionAuth
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/session/entitlements
Request samples
Response samples
application/json
{
  • "owner": "string",
  • "entitlements": [
    ]
}

Get Objects

APIs related to retrieving Limio Objects

Get Object

These APIs allow you to retrieve specific objects in Limio. You can get a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement. You can also get a list of objects of a specific type using the Get Objects API.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
id
required
string
Example: sub-abcxyz123456
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/objects/{service}/{path_type}/{id}
Request samples
Response samples
application/json
{
  • "name": "3V053CN9SFIG",
  • "start": "2024-03-22",
  • "data": {
    },
  • "status": "initial",
  • "record_type": "subscription",
  • "owner": "id-39e4c3727b273ec4110b5769c10cdb52",
  • "customer": "cus-81f7a36b4737e4d07b56e89d392a4d6e",
  • "id": "sub-7f0146cba78f9455e57875402643f103",
  • "service": "limio",
  • "ref": "order-db546637c354a63b0eeaa121a0c14f0b/bdc3cfb7-77b9-d8b8-7395-f44758ef1b29",
  • "created": "2024-03-22T12:13:29.718Z",
  • "updated": "2024-03-22T12:13:29.718Z",
  • "reference": "3V053CN9SFIG",
  • "mode": "production"
}

Get Objects

These APIs allow you to retrieve a list of objects of a specific type in Limio. You can get a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement. Each object is returned with a summary of its data. To fetch all of the object data, use the retrieved object ID with the Get Object API.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
query Parameters
limit
number

The number of objects to return.

Example: limit=10
queryMore
string

Retrieves the next page of results. Use the queryMore returned in the previous response.

Example: queryMore=DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/objects/{service}/{path_type}
Request samples
Response samples
application/json
{
  • "items": [
    ],
  • "queryMore": "eyJjcmVhdGVkIjoiMjAyNC0wMy0wMVQwMTozNjowOC43MjVaIiwic29ydF9rZXkiOiJvYmplY3Qvc3Vic2NyaXB0aW9uIiwiaGFzaCI6ImVjb25vbWlzdC1iYXUtcHJlcHJvZC9wcm9kdWN0aW9uL2xpbWlvL3N1Yi02YjExOTliOTkzYTQyNDdmZDgwNTRlMWFkNzZiOGVjOSIsInJlY29yZF90eXBlIjoiZWNvbm9taXN0LWJhdS1wcmVwcm9kL3Byb2R1Y3Rpb24vbGltaW8vc3Vic2NyaXB0aW9uIn0="
}

Get Object Relationships

This API allows you to get objects related to a specific object in Limio. You can get related objects of a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
id
required
string
Example: sub-abcxyz123456
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/objects/{service}/{path_type}/{id}/related
Request samples
Response samples
application/json
{
  • "items": [
    ]
}

Get Object Relationships By Record Type

This API allows you to get objects related to a specific object of provided path type from a provided service using the object's ID. You can get related objects of a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
id
required
string
Example: sub-abcxyz123456
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
record_type
required
string

The record type of the object

Enum: "offer" "order" "customer" "gift_code" "promo_code" "identity" "schedule" "subscription_offer" "payment_method" "rate_plan" "entitlement" "product"
Responses
200

OK

401

Unauthorized

get/objects/{service}/{path_type}/{id}/related/{record_type}
Request samples
Response samples
application/json
{
  • "items": [
    ]
}

Get Object Subtype

This API allows you to retrieve all children objects of a parent object using the object's ID. You can get a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement. Each object is returned with a summary of its data. To fetch all of the object data, use the retrieved object ID with the Get Object API.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
id
required
string
Example: sub-abcxyz123456
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/objects/{service}/{path_type}/{id}/objects
Request samples
Response samples
application/json
{
  • "items": [
    ]
}

Get Object Subtype By Record Type

This API allows you to retrieve specific children objects, that match the provided record_type, of a parent object using the object's ID. You can get a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement. Each object is returned with a summary of its data. To fetch all of the object data, use the retrieved object ID with the Get Object API.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
id
required
string
Example: sub-abcxyz123456
subtype
string

The subtype of an object

Enum: "offer" "order" "customer" "gift_code" "promo_code" "identity" "schedule" "subscription_offer" "payment_method" "rate_plan" "entitlement" "product"
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/objects/{service}/{path_type}/{id}/objects/{subtype}
Request samples
Response samples
application/json
{
  • "items": [
    ]
}

Get Object Events

This API allows you to get events associated with a specific object of provided path type from a provided service using the object's ID. You can get events of a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement. Events are actions that have been performed and are related to the object. Commonly this will be used to see events related to a subscription, such as creating or updating a susbcription.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
id
required
string
Example: sub-abcxyz123456
Responses
200

OK

401

Unauthorized

502

Bad Gateway

get/objects/{service}/{path_type}/{id}/events
Request samples
Response samples
application/json
{
  • "items": [
    ],
  • "unpackedItems": [
    ]
}

Update Objects

APIs related to updating Limio Objects

Update Object

This API allows you to update objects in Limio. You can update a subscription, customer, order, identity, address, schedule, payment method, subscription offer, promo code, or user entitlement. It is designed to be flexible and allow you to update any field in the object.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
id
required
string
Example: sub-abcxyz123456
Request Body schema: application/json
required
name
string

The object name such as the subscription name, or gift code name. Not included values will not be updated and nested values will require the structure to update. Updates will only occur for the id provided. WARNING! Changing this field might break integrations

required
object
quantity
number
Responses
200

OK

400

Bad request (missing required fields)

401

Unauthorized

404

Not found

put/objects/{service}/{path_type}/{id}
Request samples
application/json
{
  • "name": "abc123",
  • "data": {
    }
}
Response samples
application/json
{
  • "id": "sub-123123123",
  • "sort_key": "object/subscription",
  • "data": {
    }
}

Delete Object

This API allows you to delete objects in Limio. Currently, only promo codes v2 are deleted via this API.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
id
required
string
Example: sub-abcxyz123456
Responses
200

OK

401

Unauthorized

404

Not found

502

Bad Gateway

delete/objects/{service}/{path_type}/{id}
Request samples
Response samples
application/json
{
  • "httpStatusCode": 200,
  • "requestId": "1234ABC",
  • "attempts": 1,
  • "totalRetryDelay": 0
}

Update Objects

This API allows you to update an object in Limio. Currently, only promo codes are added via this API.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
Request Body schema: application/json
required
name
required
string

The object name such as the promo code name. Not included values will not be updated and nested values will require the structure to update. Updates will only occur for the id provided. WARNING! Changing this field might break integrations

id
required
string

The object id. This is the record_type and name concatenated such as promo_code_v2-abc123. Not included values will not be updated and nested values will require the structure to update. Updates will only occur for the id provided. WARNING! Changing this field might break integrations

required
object
status
boolean

The status of the object.

Responses
200

OK

400

Bad request (missing required fields)

401

Unauthorized

404

Not found

post/objects/{service}/{path_type}
Request samples
application/json
{
  • "name": "abc123",
  • "id": "promo_code_v2-abc123",
  • "data": {
    }
}
Response samples
application/json
{
  • "id": "promo_code_v2-CODE123",
  • "name": "CODE123",
  • "status": "active",
  • "record_type": "promo_code_v2",
  • "service": "limio",
  • "data": {
    }
}

Add Object Relationship

This API allows you to add a related identity object to a specific object of provided path type from a provided service using the object's ID. You can add related objects of a subscription, customer, order, identity, address, schedule, payment method, subscription offer, or user entitlement.

SecuritybearerAuth
Request
path Parameters
service
required
string
Default: "limio"

The service the object belongs to

Enum: "limio" "zuora" "salesforce"
id
required
string
Example: sub-abcxyz123456
path_type
required
string
Enum: "orders" "customers" "subscriptions" "identities" "address" "schedules" "payment_methods" "subscription_offers" "user_entitlements" "gift_code"
record_type
required
string
Default: "identity"

Only identity is allowed

Request Body schema: application/json
required

Send order request

id
string

The identity to which you want to link the object to

service
string

The service of the identity

Enum: "limio" "zuora" "salesforce"
Responses
200

OK

401

Unauthorized

502

Bad Gateway

post/objects/{service}/{path_type}/{id}/related/{record_type}
Request samples
application/json
{
  • "id": "identity-bcc1997b17b7824caf86b06451904fb8",
  • "service": "limio"
}
Response samples
application/json
null

Get Catalog Items

APIs related to retrieving Limio Catalog Items

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

SecurityApiKey
Request
query Parameters
path
string

Exact path to the object

tags
string

To filter by associated tag to the object

reducedData
boolean

Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size)

opt.pageSize
number

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
string <date-time>

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

Example: opt.modifiedAfter=2020-12-01T16:00
opt.all
boolean

Indicate true to activate the pagination

opt.queryMoreFrom
string

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
string

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
string

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

Example: attributes.YOUR_ATTRIBUTE_HERE=Due Upon Receipt
Responses
200

OK

401

Unauthorized

get/campaigns
Request samples
Response samples
application/json
{
  • "hits": 1,
  • "header": {
    },
  • "items": [
    ],
  • "queryMore": {
    }
}

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

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.

SecurityApiKey or bearerAuth
Request
query Parameters
path
string

Exact path to the object

tags
string

To filter by associated tag to the object

reducedData
boolean

Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size)

opt.pageSize
number

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
string <date-time>

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

Example: opt.modifiedAfter=2020-12-01T16:00
opt.all
boolean

Indicate true to activate the pagination

opt.queryMoreFrom
string

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
string

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
string

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

Example: attributes.YOUR_ATTRIBUTE_HERE=Due Upon Receipt
Responses
200

OK

401

Unauthorized

get/offers
Request samples
Response samples
application/json
{
  • "hits": 2,
  • "items": [
    ],
  • "queryMore": {
    },
  • "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}

Get Offers V2

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:

SecurityApiKey or bearerAuth
Request
query Parameters
path
string

Exact path to the object

tags
string

To filter by associated tag to the object

reducedData
boolean

Indicate true to receive a response with less attributes in the offer object (ideal to reduce payloads size)

opt.pageSize
number

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
string <date-time>

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

Example: opt.modifiedAfter=2020-12-01T16:00
opt.all
boolean

Indicate true to activate the pagination

opt.queryMoreFrom
string

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
string

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
string

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

Example: attributes.YOUR_ATTRIBUTE_HERE=Due Upon Receipt
Responses
200

OK

401

Unauthorized

get/offers/v2
Request samples
Response samples
application/json
{
  • "hits": 1,
  • "items": [
    ],
  • "queryMore": {
    },
  • "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}

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

SecurityApiKey or bearerAuth
Request
query Parameters
path
string

Exact path to the object

opt.pageSize
number

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
string <date-time>

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

Example: opt.modifiedAfter=2020-12-01T16:00
opt.all
boolean

Indicate true to activate the pagination

opt.queryMoreFrom
string

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
string

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
string

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

Example: attributes.YOUR_ATTRIBUTE_HERE=Due Upon Receipt
Responses
200

OK

401

Unauthorized

get/assets
Request samples
Response samples
application/json
{
  • "hits": 1,
  • "items": [
    ],
  • "queryMore": {
    },
  • "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}

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

SecurityApiKey or bearerAuth
Request
query Parameters
path
string

Exact path to the object

opt.pageSize
number

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
string <date-time>

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

Example: opt.modifiedAfter=2020-12-01T16:00
opt.all
boolean

Indicate true to activate the pagination

opt.queryMoreFrom
string

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
string

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
string

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

Example: attributes.YOUR_ATTRIBUTE_HERE=Due Upon Receipt
Responses
200

OK

401

Unauthorized

get/products
Request samples
Response samples
application/json
{
  • "hits": 1,
  • "items": [
    ],
  • "queryMore": {
    },
  • "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}

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

SecurityApiKey or bearerAuth
Request
query Parameters
path
string

Exact path to the object

opt.pageSize
number

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
string <date-time>

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

Example: opt.modifiedAfter=2020-12-01T16:00
opt.all
boolean

Indicate true to activate the pagination

opt.queryMoreFrom
string

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
string

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
string

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

Example: attributes.YOUR_ATTRIBUTE_HERE=Due Upon Receipt
Responses
200

OK

401

Unauthorized

get/segments
Request samples
Response samples
application/json
{
  • "hits": 1,
  • "items": [
    ],
  • "queryMore": {
    },
  • "commitId": "e44d0795e9d0aa78ddea15c3e925cfd581adfb04"
}

Get Journeys

Retrieves all the journeys in the Catalog

SecurityApiKey or bearerAuth
Responses
200

OK

401

Unauthorized

get/journeys
Request samples
Response samples
application/json
{
  • "starting_point": "/cancel-now/",
  • "fallback_tag": "/cancel/",
  • "journeys": [
    ]
}

Update Catalog Items

APIs related to updating Limio Catalog Items

Bulk Update

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.

SecuritybearerAuth
Request
Request Body schema: application/json
required
Array of objects
Array
path
string

The offer path in Limio

object
Responses
200

OK

401

Unauthorized

404

Not found

put/limio/catalogs/1/bulk-update
Request samples
application/json
{
  • "diffs": [
    ]
}
Response samples
application/json
{
  • "success": "string",
  • "failed": [ ]
}

Build

APIs related to building Limio Campaigns and pages

Build Campaigns and Pages

This API allows you to build Limio Campaigns and Pages in bulk, without needing to build them one by one. You can build multiple campaigns and pages at once by providing an array of items to build. This can be useful for building multiple campaigns and pages at once, for example, when you want to build a set of campaigns and pages for a new product launch.

SecuritybearerAuth
Request
Request Body schema: application/json
required

The paths of the items you want to build - for example, campaigns (starting with /offers) and pages (starting with /pages).

items
Array of arrays

The list of campaigns and pages to build

Responses
200

OK

401

Unauthorized

502

Bad Gateway

post/shop/builds
Request samples
application/json
{
  • "items": [
    ]
}
Response samples
application/json
{
  • "buildPaths": [
    ],
  • "id": "build-{{limioTenant}}-shop:xxxxx",
  • "success": true
}

Repository Component Builds

This endpoint allows you to fetch custom component builds.

SecuritybearerAuth
Request
query Parameters
commitHash
string

Will retrieve the build information for the specified commit hash.

Example: commitHash=qv0hg3h4
Responses
200

OK

401

Unauthorized

404

Builds not found

get/component/builds
Request samples
Response samples
application/json
{
  • "id": "string",
  • "buildNumber": "25",
  • "commitId": "608f72e742a77bd0862b1b30d84814f00fc2fceb",
  • "startTime": "2024-03-26T12:22:14.554Z",
  • "endTime": "2024-03-26T12:22:14.554Z",
  • "buildStatus": "SUCCEEDED",
  • "buildComplete": true,
  • "logErrors": [
    ]
}

Publish

APIs related to publishing Limio Campaigns and pages

Publish Campaigns and Pages

This API allows you to publish campaigns and pages in Limio. You can use this API to publish campaigns and pages to make them live on your website. This can be useful for activities such as launching new products, promoting sales, or creating seasonal campaigns.

SecuritybearerAuth
Request
Request Body schema: application/json
required

The tags of the campaigns / pages that you want to publish

tags
Array of arrays

The list of campaigns and pages to publish

buildId
string

The build ID of the campaigns and pages to publish

name
string

The name of one of the campaigns / pages to be published

Responses
200

OK

401

Unauthorized

502

Bad Gateway

post/publish
Request samples
application/json
{
  • "tags": [
    ],
  • "buildId": "build-shard-shop:b83ee127-2301-4358-b993-cb3d7f009718",
  • "name": "Default"
}
Response samples
application/json
{
  • "success": true,
  • "publishedData": {
    },
  • "ommitedWithError": {
    }
}

Sync Zuora Data

APIs related to syncing Zuora Data

Sync Zuora Subscription

This API allows you to update subscriptions that already exist within Limio or to create new subscriptions / customer accounts in Limio for orders that were created outside of Limio (for example directly in Zuora). It can be used to keep Limio in sync with non-Limio-initiated changes, or to fetch new subscriptions and accounts that have been created outside of a Limio shop.

SecuritybearerAuth
Request
path Parameters
id
required
string

The id of the subscription created in Zuora

Example: https://{TENANT}.prod.limio.com/api/plugins/zuora/sync/subscription/A-S00000271
Responses
200

OK

401

Unauthorized

502

Bad Gateway

post/api/plugins/zuora/sync/subscription/{id}
Request samples
Response samples
application/json
{
  • "success": true,
  • "id": "sub-5c3d83c60950014c306865f0ab8c499b"
}