API Documentation | Limio

Limio Commerce API (1.0.0)

Download OpenAPI specification: Download

E-mail: [email protected] URL: https://limio.zendesk.com/hc/en-gb/requests/new

A collection of APIs designed for interacting with Limio services.


Send Orders

APIs related to sending Limio Orders

Submit Order (POST /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.

Security: bearerAuth

Request body (application/json, required) One of the following request types:

  • Create Subscription

  • Create Gift Subscription

  • Redeem Gift Subscription

  • Update Customer Details

  • Change Address

  • Change Offer

  • Update Subscription

  • Change Default Zuora Payment Method

  • Delete Payment Method

  • Add Offer

  • Cancel Subscription

Create a new subscription - example schema fields:

  • external_id (string) — external order reference

  • initiated_source (string) — initiated source of the order ("shop" or "salesforce")

  • source (string)

  • process_immediately (boolean) — if true the order is processed synchronously

  • order_type (string, required) — e.g. "new"

  • orderItems (array, required) — array of objects:

    • offer (object: OfferPayload) — published Limio Offer details (id, version)

    • quantity (number)

  • orderDiscount (object: OrderDiscount)

    • name (string)

    • productDetails (object)

      • ratePlan (object)

      • product (object)

    • product (object: ProductDetails)

      • baseTemplate, entitlements, path, created, modified, attributes, record_type, lastSynced, synced, syncedFrom

    • discountOverrides

      • discountType, durationLength, durationType, percentageDiscount, amountDiscount, currency, orderItemsWithSpecifiedDiscount

  • billingDetails (object: Address) — firstName, lastName, email, phone, company, address1, address2, city, state, postalCode, country

  • deliveryDetails (object: Address)

  • customerDetails (object: CustomerDetails) — firstName, lastName, phone, email

  • tracking (object: Tracking) — offers (array of strings), purchaseCountryCode, accountId, contactId, userId

  • payment (ZuoraPayment object, required)

    • type: "zuora"

    • zuora:

      • refId (string) — Zuora payment method id

      • paymentGateway (string)

  • orderDate (string, date-time) — subscription start date

  • checkoutId (string, required) — limio session checkout id

  • country (string, required) — customer purchase country code

Responses:

  • 200 OK

  • 401 Unauthorized

  • 404 Not found

  • 502 Bad Gateway

Example payload (application/json):

{
  "external_id": "string",
  "initiated_source": "string",
  "source": "string",
  "process_immediately": true,
  "order_type": "new",
  "orderItems": [
    {
      "offer": {
        "id": "8a512ee55befaea0f7fa962cea9982d0e84f0098",
        "version": "4dd34671f26fdbbf240560b78f7f2f54654cde72"
      },
      "quantity": 1
    }
  ],
  "orderDiscount": {
    "name": "TEST123",
    "productDetails": {
      "ratePlan": {
        "path": "30% Off Monthly"
      },
      "product": {
        "path": "/products/Discounts"
      }
    },
    "product": {
      "baseTemplate": "/config/templates/products/default",
      "entitlements": [
        { "$ref": "/entitlements/Digital" }
      ],
      "path": "/products/Digital",
      "created": "2023-12-11T13:44:43+00:00",
      "modified": "2024-01-15T13:56:18+00:00",
      "attributes": {
        "display_name__limio": "Digital",
        "has_delivery__limio": false,
        "product_code__limio": "LI.DIGITAL"
      },
      "record_type": "product",
      "lastSynced": "2024-03-12T16:00:35.232Z",
      "synced": true,
      "syncedFrom": "2c92c0f9778c090d0177aa4f357d043b"
    },
    "discountOverrides": {
      "discountType": "DiscountPercentage",
      "durationLength": 1,
      "durationType": "Months",
      "percentageDiscount": 10,
      "amountDiscount": 10,
      "currency": "USD",
      "orderItemsWithSpecifiedDiscount": {
        "discountedOffers": []
      }
    }
  },
  "billingDetails": {
    "firstName": "string",
    "lastName": "string",
    "email": "string",
    "workEmail": "string",
    "phone": "string",
    "workPhone": "string",
    "otherPhone": "string",
    "company": "string",
    "address1": "string",
    "address2": "string",
    "city": "string",
    "state": "string",
    "postalCode": "string",
    "country": "string"
  },
  "deliveryDetails": {
    "firstName": "string",
    "lastName": "string",
    "email": "string",
    "workEmail": "string",
    "phone": "string",
    "workPhone": "string",
    "otherPhone": "string",
    "company": "string",
    "address1": "string",
    "address2": "string",
    "city": "string",
    "state": "string",
    "postalCode": "string",
    "country": "string"
  },
  "customerDetails": {
    "firstName": "string",
    "lastName": "string",
    "phone": "string",
    "email": "string"
  },
  "tracking": {
    "offers": ["/offers2/$75 for 52 weeks then $31.96 every 4 weeks autorenew"],
    "purchaseCountryCode": "GB",
    "accountId": "0017x00000Q9O9qAAF",
    "contactId": "0037x00000F58M9AAJ",
    "userId": "0057x0000088Oh3AAE"
  },
  "payment": {
    "type": "zuora",
    "zuora": {
      "refId": "2c92c0f96e4e3b7f016e5f3b3b7b0b3d",
      "paymentGateway": "CreditCard_UK"
    }
  },
  "orderDate": "2020-01-01T00:00:00Z",
  "checkoutId": "basket-22e3d318-92e2-4909-b59c-1265623bc3f6",
  "country": "GB"
}

Example response (200):

{
  "id": "string",
  "order_reference": "string",
  "status": "string",
  "external_id": "string",
  "subscriptionReference": "string",
  "owner": "string"
}

Preview Order (POST /order/preview)

Preview an order in Limio to see the changes that will be applied. Useful to show the user expected charges, effective dates, and other details before confirming.

Security: bearerAuth

Request body (application/json, required)

Fields include (representative):

  • external_id, initiated_source, source, process_immediately

  • order_type (string, required) — e.g. add_offer, update_subscription, change_offer

  • forSubscription (SubscriptionByName or SubscriptionById) — subscription to update

  • offer (OfferPayload, required)

  • effectiveDate (date-time)

  • payment (ZuoraPayment)

  • billingDetails, deliveryDetails

Responses:

  • 200 OK

  • 401 Unauthorized

  • 404 Not found

  • 502 Bad Gateway

Example request:

{
  "external_id": "string",
  "initiated_source": "string",
  "source": "string",
  "process_immediately": true,
  "order_type": "change_offer",
  "forSubscription": { "name": "string" },
  "offer": {
    "id": "8a512ee55befaea0f7fa962cea9982d0e84f0098",
    "version": "4dd34671f26fdbbf240560b78f7f2f54654cde72"
  },
  "effectiveDate": "2019-08-24T14:15:22Z",
  "payment": {
    "type": "zuora",
    "zuora": {
      "refId": "2c92c0f96e4e3b7f016e5f3b3b7b0b3d",
      "paymentGateway": "CreditCard_UK"
    }
  },
  "billingDetails": {
    "firstName": "string",
    "lastName": "string",
    "email": "string"
  },
  "deliveryDetails": {
    "firstName": "string",
    "lastName": "string",
    "email": "string"
  }
}

Example response (200):

Large preview object containing:

  • preview: { success, orderNumber, orderId, accountNumber, status, subscriptions, paymentNumber, paidAmount, previewResult (invoices, creditMemos) }

  • schedule: array of scheduled charges

(See actual API response samples for full JSON structure.)


Subscription

APIs related to Limio Subscriptions

Get subscriptions by Salesforce ID (GET /objects/salesforce/identities/{id}/subscriptions)

Use to list subscriptions attached to a specified Salesforce ID.

Security: bearerAuth

Path parameters:

  • id (string, required): Salesforce Identity

Query parameters:

  • queryMore (string): pagination token

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/salesforce/identities/{id}/subscriptions?queryMore=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response contains a "subscriptions" array with detailed subscription, offer, product, tracking, customer, price and other information.


Get Subscription Timeline (GET /timeline/{path_type}/{id})

Retrieves timeline data for a subscription or customer by ID. Aggregates events, payment methods, addresses, offers, and schedules into a chronological history.

Security: bearerAuth

Path parameters:

  • path_type (string, required): "subscriptions" or "customers"

  • id (string, required): subscription or customer id

Responses:

  • 200 Successfully retrieved timeline data

  • 400 Bad request - Invalid parameters

  • 401 Unauthorized

  • 404 Subscription or customer not found

  • 502 Bad Gateway

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/timeline/{path_type}/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response includes "subscriptions" (array of timeline events) and metadata.


Identities

APIs related to Limio Identities

Transfer Limio owner (POST /objects/owner_change)

Transfer ownership of all objects from one owner to another. Both source and destination owners must use the "@limio/id" format. This action only changes ownership of objects; it does not transfer or change the source owner's ID.

Security: bearerAuth

Request body (application/json, required):

  • sourceId (string)

  • destinationId (string)

  • message (string)

Responses:

  • 200 All objects successfully transferred

  • 401 Unauthorized

  • 502 Bad Gateway

Example:

{
  "sourceId": "id-6306ee777d16170f96338bcaec7e825f",
  "destinationId": "id-459605d1dac621bc8b0201cce6ca6f11",
  "message": "Transfer ownership"
}

Example response:

{
  "result": {
    "sourceId": "id-e3cdd2126f13a7cfd0bcb526384a3b2c",
    "destinationId": "id-dbf94081308168b4057f2b41035ded82",
    "updatedIds": [
      "subscription_offer-8b9e945bba16exx5f875a566eecccbc7",
      "sub-8b6bd55194a0b23b49fd8xx1822c507f",
      "... (other object ids) ..."
    ],
    "failedIds": [],
    "eventId": "event-6309e8123d80df483e7e2ad3463b0a00"
  },
  "success": true
}

Add external identity (Admin) (POST /objects/externalidentity/{owner})

Add an external identity to a Limio identity on behalf of an organization (admin-only). Requires OAuth bearer tokens.

Security: bearerAuth

Path parameters:

  • owner (string, required): Limio owner id (e.g. id-23252f4950f5efe7de30de37da283149)

Request body (application/json, required):

  • id_token (object)

    • iss (string)

    • sub (string)

Responses:

  • 200 External identity successfully linked

  • 401 Unauthorized

  • 502 Bad Gateway

Example request:

{
  "id_token": {
    "iss": "https://domain.com",
    "sub": "sub"
  }
}

Example response:

{
  "name": "John Doe",
  "data": { "iss": "https://domain.com", "sub": "sub" },
  "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 (Admin) (DELETE /objects/externalidentity/{owner})

Remove an external identity from a Limio identity (admin-only).

Security: bearerAuth

Path parameters:

  • owner (string, required)

Request body (application/json, required):

  • id_token (object)

    • iss (string)

    • sub (string)

Responses:

  • 200 External identity successfully removed

  • 401 Unauthorized

  • 502 Bad Gateway

Example request:

{
  "id_token": {
    "iss": "https://domain.com",
    "sub": "sub"
  }
}

Example response: { }


Forget Customer Data (POST /customer/{id}/forget_customer)

Obfuscate personal customer data for a specific customer id (irreversible).

Security: bearerAuth

Path parameters:

  • id (string, required): customer id (e.g. cus-fc689f05...)

Responses:

  • 200 Data successfully scrubbed

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X POST \
  'https://your-environment.prod.limio.com/api/customer/{id}/forget_customer' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Example response:

{
  "customerId": "cus-fc689f05092b27605bb622a6ca7871b0",
  "eventId": "event-596b708a4e9794466d7c7d9841d0d2d9",
  "success": true
}

Basket

APIs related to retrieving Limio Baskets

Get Abandoned Baskets (GET /checkout/abandoned)

Retrieve a list of abandoned baskets and filter by creation date.

Security: bearerAuth

Query parameters:

  • limit (number, required) — number of objects to return

  • createdAfter (date-time, required) — filter items created after provided ISO date-time

  • queryMore (string) — pagination token

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/checkout/abandoned?limit=10&createdAfter=2020-12-01T16%3A00&queryMore=DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response contains "items" array with baskets (id, created, customerDetails, orderItems, tracking, identities, completed false, recoveryLink, etc.).


Create or update a checkout session (POST /checkout/initiate)

Create or update a basket for tracking and later order submission. Returns basket ID.

Security: bearerAuth

Request body (application/json, required):

  • order (object, required)

    • orderItems (array, required) — offer payloads+quantity

    • external_id (string, required) — becomes checkoutId

    • tracking (object)

      • offers (array)

      • purchaseCountryCode

      • accountId, contactId, userId

    • country (string, required) — purchase country code

    • source (string, required)

    • order_type (string, required) — Enum: "new", "renew"

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example request:

{
  "order": {
    "orderItems": [
      {
        "offer": {
          "id": "8a512ee55befaea0f7fa962cea9982d0e84f0098",
          "version": "4dd34671f26fdbbf240560b78f7f2f54654cde72"
        },
        "quantity": 1
      }
    ],
    "external_id": "1234567890",
    "tracking": {
      "offers": ["/offers2/$75 for 52 weeks then $31.96 every 4 weeks autorenew"],
      "purchaseCountryCode": "GB",
      "accountId": "0017x00000Q9O9qAAF",
      "contactId": "0037x00000F58M9AAJ",
      "userId": "0057x0000088Oh3AAE"
    },
    "country": "GB",
    "source": "shop",
    "order_type": "new"
  }
}

Example response:

{ "id": "string" }

Session

APIs related to User Sessions

Get User Entitlements (GET /session/entitlements)

Get entitlements of a user session.

Security: sessionAuth

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X GET \
  https://your-environment.prod.limio.com/api/session/entitlements \
  -H 'Authorization: Bearer <YOUR_Session Token_HERE>'

Example response:

{
  "owner": "string",
  "entitlements": [
    {
      "code": "string",
      "startDate": "2019-08-24",
      "endDate": "2019-08-24",
      "effectiveDate": "2019-08-24",
      "type": "subscription"
    }
  ]
}

Get Objects

APIs to retrieve Limio objects (subscriptions, customers, orders, identities, addresses, schedules, payment methods, subscription offers, entitlements, events, process events, etc.)

Security: bearerAuth

Get Object (GET /objects/{service}/{path_type}/{id})

Path parameters:

  • service (string, required): "limio" (default), "zuora", "salesforce"

  • path_type (string, required): e.g. "orders", "customers", "subscriptions", "identities", "address", "schedules", "payment_methods", "subscription_offers", "user_entitlements", "gift_code", "promo_codes_v2", "events", "process"

  • id (string, required)

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response: full object JSON (subscription, customer, order, etc.). See response samples for structures.


Get Objects (GET /objects/{service}/{path_type})

Retrieve a list of objects of a specific type.

Query parameters:

  • limit (number)

  • queryMore (string)

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}?limit=10&queryMore=DnF1ZXJ5VGhlbkZldGNoBQAAAAAAGH' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response: "items" array with summary objects and "queryMore" token.


Get objects related to a specific object.

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}/{id}/related' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response: "items" array of related objects.


Same as above filtered by record_type.

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}/{id}/related/{record_type}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Get Object Subtype (GET /objects/{service}/{path_type}/{id}/objects)

Retrieve children objects of a parent object.

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}/{id}/objects' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Get Object Subtype By Record Type (GET /objects/{service}/{path_type}/{id}/objects/{subtype})

Retrieve specific children objects matching record_type.

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}/{id}/objects/{subtype}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Get Object Events (GET /objects/{service}/{path_type}/{id}/events)

Get events associated with a specific object.

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}/{id}/events' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response: "items" array of event objects and "unpackedItems" with enriched data.


Create Objects

APIs related to creating Limio Objects

Create Promo Code Objects (POST /objects/limio/promo_codes_v2)

Create a new promo code object (only promo codes v2 supported).

Security: bearerAuth

Request body (application/json, required):

  • name (string, required)

  • id (string, required) — e.g. promo_code_v2-abc123

  • data (PromoCodeWholeBasket or PromoCodeSelectedItems)

    • applicationLevel (string, required), value: "wholeBasket"

    • promoCode (string, required)

    • status (boolean, required)

    • description (string)

    • promoStartDate (date)

    • promoExpiryDate (date)

    • productDetails (PromoCodeProductDetails)

      • product (object, required)

      • ratePlan (object, required)

    • usage (availableQuantity)

    • discount (Discount Type Percentage or Fixed Amount) — discountType "DiscountPercentage" with percentageDiscount, durationLength, durationType

Responses:

  • 200 OK

  • 400 Bad request

  • 401 Unauthorized

  • 404 Not found

Example request:

{
  "name": "abc123",
  "id": "promo_code_v2-abc123",
  "data": {
    "applicationLevel": "wholeBasket",
    "promoCode": "abc123",
    "status": true,
    "description": "",
    "promoStartDate": "2024-11-11",
    "promoExpiryDate": "2024-12-31",
    "productDetails": {
      "product": { "path": "/products/Discounts" },
      "ratePlan": { "path": "'30% Off Monthly' 1 month only" }
    },
    "usage": { "availableQuantity": 100 },
    "discount": {
      "discountType": "DiscountPercentage",
      "percentageDiscount": 12,
      "durationLength": 1,
      "durationType": "Months"
    }
  }
}

Example response:

{
  "id": "promo_code_v2-CODE123",
  "name": "CODE123",
  "status": "active",
  "record_type": "promo_code_v2",
  "service": "limio",
  "data": { "promoStartDate": "2024-10-07" }
}

Update Objects

APIs related to updating Limio Objects

Update Object (PUT /objects/{service}/{path_type}/{id})

Update objects (subscription, customer, order, identity, address, schedule, payment method, subscription offer, promo code, user entitlement).

Security: bearerAuth

Path parameters:

  • service (string)

  • path_type (string)

  • id (string)

Request body (application/json, required):

  • name (string)

  • data (object | PromoCodeWholeBasket | PromoCodeSelectedItems) — nested updates require full structure as appropriate

  • quantity (number)

Responses:

  • 200 OK

  • 400 Bad request

  • 401 Unauthorized

  • 404 Not found

Example request:

{
  "name": "abc123",
  "data": { "quantity": 2 }
}

Example response:

{
  "id": "sub-123123123",
  "sort_key": "object/subscription",
  "data": { "quantity": 2 }
}

Delete Object (DELETE /objects/{service}/{path_type}/{id})

Delete objects (currently only promo codes v2 supported).

Security: bearerAuth

Responses:

  • 200 OK

  • 401 Unauthorized

  • 404 Not found

  • 502 Bad Gateway

Example curl:

curl -i -X DELETE \
  'https://your-environment.prod.limio.com/api/objects/{service}/{path_type}/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Example response:

{
  "httpStatusCode": 200,
  "requestId": "1234ABC",
  "attempts": 1,
  "totalRetryDelay": 0
}

Add Object Relationship (POST /objects/{service}/{path_type}/{id}/related/{record_type})

Add a related identity object to a specific object.

Security: bearerAuth

Path parameters:

  • service (string)

  • id (string)

  • path_type (string)

  • record_type (string, required) — default "identity" (only identity allowed)

Request body (application/json, required):

  • id (string) — identity id to link

  • service (string) — identity service: "limio", "zuora", "salesforce"

Example:

{
  "id": "identity-bcc1997b17b7824caf86b06451904fb8",
  "service": "limio"
}

Response: null (200 OK)


Get Catalog Items

APIs related to retrieving Limio Catalog Items

Note: Many catalog endpoints accept query parameters such as path, tags, reducedData, opt.pageSize, opt.modifiedAfter, opt.all, opt.queryMoreFrom, opt.queryMoreAlias and attributes.<YOUR_ATTRIBUTE> keys.

Authentication: ApiKey or bearerAuth (depending on endpoint)

Get Campaigns (GET /campaigns)

Retrieve campaigns that match queries. Returns hits count, items array and queryMore.

Security: ApiKey

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/campaigns?path=string&tags=string&reducedData=true&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: hits, header, items (campaign objects), queryMore.


Get Pages (GET /pages)

Retrieve published pages matching query params.

Security: ApiKey

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/pages?path=string&tags=string&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: items, hits, queryMore, commitId, buildId, indexName.


Get Offers (GET /offers)

Retrieves offers in the catalog (includes legacy /offers and standalone /offers2). To fetch only v2 standalone offers use /offers/v2.

Security: ApiKey or bearerAuth

Query params: path, tags, reducedData, opt.pageSize, opt.modifiedAfter, opt.all, opt.queryMoreFrom, opt.queryMoreAlias, attributes.<...>

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/offers?path=string&tags=string&reducedData=true&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: hits, items (offer objects), queryMore, commitId.


Get Offers V2 (GET /offers/v2)

Retrieve standalone offers v2 (recommended if you only want standalone offers). Can default to published offers if Published Offers API is enabled; use offersSource query param to control.

Security: bearerAuth

Query parameters:

  • offersSource (string): "catalog" or "published"

  • path, tags, reducedData, opt.pageSize, opt.modifiedAfter, opt.all, opt.queryMoreFrom, opt.queryMoreAlias, attributes.<...>

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/offers/v2?offersSource=catalog&path=string&tags=string&reducedData=true&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response: hits, items (v2 offers), queryMore, commitId.


Get Add Ons (GET /add_ons)

Retrieve standalone add-ons in the catalog.

Security: bearerAuth

Query parameters include addOnsSource ("catalog" or "published") and others similar to offers.

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/add_ons?path=string&addOnsSource=catalog&reducedData=true&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response: hits, items, queryMore, commitId.


Get Assets (GET /assets)

Retrieve assets in the catalog.

Security: ApiKey or bearerAuth

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/assets?path=string&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: hits, items (asset objects), queryMore.


Get Products (GET /products)

Retrieve products in the catalog.

Security: ApiKey or bearerAuth

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/products?path=string&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: hits, items, queryMore, commitId.


Get Segments (GET /segments)

Retrieve catalog segments.

Security: ApiKey or bearerAuth

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/segments?path=string&opt.pageSize=0&opt.modifiedAfter=2020-12-01T16%3A00&opt.all=true&opt.queryMoreFrom=string&opt.queryMoreAlias=string&attributes.YOUR_ATTRIBUTE_HERE=Due%20Upon%20Receipt' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: hits, items, queryMore, commitId.


Get Journeys (GET /journeys)

Retrieve journeys in the catalog.

Security: ApiKey or bearerAuth

Example curl:

curl -i -X GET \
  https://your-environment.prod.limio.com/api/journeys \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: starting_point, fallback_tag, journeys array.


Update Catalog Items

APIs related to updating Limio Catalog Items

Bulk Update (PUT /limio/catalogs/1/bulk-update)

Perform bulk update operations on catalog items.

Security: bearerAuth

Request body (application/json, required):

  • diffs (array of objects)

    • path (string) — offer path

    • diff (object) — attributes to change

Responses:

  • 200 OK

  • 401 Unauthorized

  • 404 Not found

Example:

{
  "diffs": [
    {
      "path": "string",
      "diff": { "attributes": { "example_attribute": "string" } }
    }
  ]
}

Example response:

{ "success": "string", "failed": [] }

Build

APIs related to building Limio Campaigns and pages

Build Campaigns and Pages (POST /shop/builds)

Build campaigns and pages in bulk.

Security: bearerAuth

Request body (application/json, required):

  • items (array) — list of campaign and page paths to build (e.g. "/offers/Limio Campaign", "/pages/Limio Page")

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example:

{ "items": [ "/offers/Limio Campaign", "/pages/Limio Page" ] }

Example response:

{
  "buildPaths": ["/offers/Limio Campaign", "/pages/Limio Page"],
  "id": "build-{{limioTenant}}-shop:xxxxx",
  "success": true
}

Repository Component Builds (GET /component/builds)

Fetch custom component builds.

Security: bearerAuth

Query params:

  • commitHash (string) — retrieve build info for this commit

Responses:

  • 200 OK

  • 401 Unauthorized

  • 404 Builds not found

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/component/builds?commitHash=qv0hg3h4' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Example response:

{
  "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": [ "Error: No such import 'MyIcon' in /offerCard.js" ]
}

Publish

APIs related to publishing Limio Campaigns and pages

Publish Campaigns and Pages (POST /publish)

Publish campaigns and pages (make them live).

Security: bearerAuth

Request body (application/json, required):

  • tags (array) — tags of campaigns/pages to publish

  • buildId (string)

  • name (string) — name of campaign/page to publish

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example:

{
  "tags": [ "/tags/uk-uk/default" ],
  "buildId": "build-shard-shop:b83ee127-2301-4358-b993-cb3d7f009718",
  "name": "Default"
}

Example response: success flag and publishedData pages structure.


Sync Zuora Data

APIs related to syncing Zuora Data

Sync Zuora Subscription (POST /plugins/zuora/sync/subscription/{id})

Update or create subscriptions/customers in Limio for orders created outside Limio (e.g., directly in Zuora).

Security: bearerAuth

Path parameters:

  • id (string, required) — Zuora subscription id

Responses:

  • 200 OK

  • 401 Unauthorized

  • 502 Bad Gateway

Example curl:

curl -i -X POST \
  'https://your-environment.prod.limio.com/api/plugins/zuora/sync/subscription/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Example response:

{ "success": true, "id": "sub-5c3d83c60950014c306865f0ab8c499b", "owner": "id-23252f4950f5efe7de30de37da283149" }

Journeys V2

APIs related to Limio Journeys V2

Security: ApiKey or bearerAuth (depending on endpoint)

Get Journeys V2 (GET /v2/journey)

Retrieve journeys v2.

Example curl:

curl -i -X GET \
  https://your-environment.prod.limio.com/api/v2/journey \
  -H 'Authorization: YOUR_API_KEY_HERE'

Response: starting_point, fallback_tag, journeys array.


Add Journey V2 (POST /v2/journey)

Add a new journey.

Security: bearerAuth

Request body:

  • name (string)

Responses:

  • 200 OK

  • 401 Unauthorized

  • 409 Conflict

Example:

{ "name": "Test" }

Example response:

{ "message": "Journey added successfully" }

Get Journey V2 by name (GET /v2/journey/{journeyName})

Get a journey by name.

Security: bearerAuth

Path parameter:

  • journeyName (string, required)

Responses:

  • 200 OK

  • 401 Unauthorized

  • 404 Journey not found

Example curl:

curl -i -X GET \
  'https://your-environment.prod.limio.com/api/v2/journey/{journeyName}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Response contains journey data, status, id, created/updated timestamps, version.


Delete Journey V2 by name (DELETE /v2/journey/{journeyName})

Delete a journey by name.

Security: bearerAuth

Responses:

  • 200 Successfully deleted

  • 401 Unauthorized

  • 404 Journey not found

Example curl:

curl -i -X DELETE \
  'https://your-environment.prod.limio.com/api/v2/journey/{journeyName}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Example response:

{ "message": "Journey deleted successfully" }

Update or Create Journey V2 (PUT /v2/journey/{journeyName})

Update an existing Journey V2 by name, or create if it does not exist.

Security: bearerAuth

Path parameter:

  • journeyName (string) — name of journey to update

Request body (application/json, required):

  • name (string)

  • data (object)

    • journeys (array of objects)

      • id (uuid), conditions (array), actions (array)

    • starting_point (string)

    • fallback_tag (string)

    • domains (array of strings)

Responses:

  • 200 OK

  • 401 Unauthorized

Example request:

{
  "name": "test001",
  "data": {
    "journeys": [
      {
        "id": "3f16d308-15f7-4185-874e-5ab2ec0eb644",
        "conditions": [
          {
            "id": "64ef0c29-893a-44de-ba2b-2f3e793a9fc2",
            "type": "country",
            "value": ["example_value"]
          }
        ],
        "actions": [
          {
            "id": "e98094b3-23f8-487d-b0fe-05526940767c",
            "type": "destination",
            "values": [{ "id": null, "tag": null, "split": null }]
          }
        ]
      }
    ],
    "starting_point": "/",
    "fallback_tag": "",
    "domains": ["example.com", "example.org"]
  }
}

Example response: echoes back the journey structure.


If you want, I can:

  • Convert specific example request/response pairs into separate example blocks titled per language (curl / JavaScript / Python).

  • Split this document into separate GitBook pages (e.g., Orders, Subscriptions, Catalog) and add ready-to-use code snippets for common use cases. Which would you prefer?

Last updated

Was this helpful?