Skip to main content
The REST API gives you the same control over your bundles as the dashboard. Create an API key first, then send it with every request:
<your-app-url> is shown on Settings → API & MCP. All requests and responses are JSON. Errors look like this:

Endpoints

List bundles

Each bundle also includes its display and targeting settings (buttonText, badgeText, minProducts, maxProducts, targetType, combinesWith and more). Bundles created from the dashboard may include more settings than the API accepts.

Create a bundle

You supply only the Shopify product IDs. The product title, handle, image and variants are loaded from your store.
The response is 201 with the created bundle:
Bundle rules match the dashboard:
  • Fixed bundles need at least two products.
  • BOGO bundles need at least one primary product (isPrimary: true) and one other product.
  • Volume bundles need a title on every offer, and either products or targetType of ALL_PRODUCTS or COLLECTIONS with targetCollectionIds.
  • Mix & Match bundles need at least one product or collectionIds.
  • bundleType can’t be changed after creation. Frequently bought together (FBT) bundles can’t be created or changed through the API yet.
discountType is one of PERCENTAGE, FLAT, FIXED_PER_ITEM, FIXED_PRICE or FREE_GIFT.

Update a bundle

Send only what should change. This publishes a bundle:
The response is 200 with the updated bundle in the same shape as above.

Delete a bundle

If the request returns 502, the bundle was deleted but Shopify wasn’t updated. Send the same request again to finish the sync.

List orders

Analytics

The response has a range (start and end as ISO timestamps), a summary for the whole shop, a bundles array with views, add-to-carts, orders, revenue, discount, conversion rate and ROI per bundle, and a daily series of revenue and orders.

Error codes

Need a field or endpoint that isn’t here? Contact us at support@getappfox.com.