The Mimeeq REST API provides programmatic access to product configuration data, pricing, and metadata from the Mimeeq 3D product configurator platform. Use it to integrate configured product information into your ecommerce systems, order management workflows, or custom applications.
All endpoints require an API key passed in the X-API-KEY header. You can generate API keys from the Mimeeq admin panel. See the Authorization Guide for setup instructions.
Several endpoints use short codes to identify product configurations. Mimeeq generates different types of short codes depending on the context — configuration short codes, scene short codes (for modular products), and embed short codes. The API accepts configuration short codes and scene short codes. See Short Codes for details on the different types and how to obtain them.
Mimeeq supports three product modes, and the API response structure varies accordingly. See Product Types for a detailed overview.
The API uses standard HTTP status codes. Error responses include a JSON body with message, code, and payload fields. Common errors:
401 — Invalid or missing API key400 — Validation error (missing or malformed parameters). The payload array contains field-level details.500 — Unexpected server errorPricing endpoints may return 200 with zeroed prices and an errors array when required pricing parameters are missing. This is intentional — always check for the presence of errors in the response.
The API enforces a default rate limit of 10,000 requests per second with a burst capacity of 5,000 concurrent requests. If you exceed these limits, the API returns 429 Too Many Requests.
Returns calculated pricing for a product configuration identified by its short code. The response structure depends on the product mode:
ProductPriceStandardResponse with total price, quantity break levels, item masters, and optional per-group breakdownsProductPriceModularResponse with per-component pricingPricing source (required): You must provide exactly one of publicListGroup, priceListIds, companyId, or templateId to specify which price data to use. These parameters are mutually exclusive — to compare prices across different sources, make separate requests.
Partial results: If required pricing parameters are missing, the endpoint returns 200 with zeroed prices and an errors array explaining what's missing. This is intentional for backward compatibility — always check for the errors field. If all parameters are provided the following priority is applied:
Custom pricing: If you use your own pricing system instead of Mimeeq's built-in pricing, see Custom Pricing Integration for the client-side approach using mimeeqApp.utils.setPrice().
| shortCode required | string Configuration short code (for standard/hybrid products) or scene short code (for modular products). Embed short codes are not accepted — see Short Codes for the distinction. |
| quantity | number Number of units to calculate pricing for. Affects total price and may trigger quantity break pricing levels. |
| lang | string Language code for localized content. Falls back to the customer's default language if not provided. |
| priceListGroup | string ID of a Public Price List Group to use for pricing. The system returns the cheapest price across all price lists in the group. |
| priceListIds | string Comma-separated list of specific Price List IDs to use. The system returns the cheapest price across the provided lists. |
| companyId | string Company ID to calculate pricing for. Uses all price lists assigned to the company and returns the cheapest result. |
| templateId | string Embed Template ID. Uses the Public Price List Group assigned to the template for pricing. See Embed Templates for how templates control pricing and display settings. |
| priceType | string Enum: "RRP" "SALE" "COST" Price type to return. Required when using |
| vatType | string Enum: "INCL_VAT" "EXCL_VAT" Whether returned prices should include or exclude VAT. Falls back to the default setting from the customer's public price list if not provided. |
curl --request GET \ --url 'https://mimeeqapi.com/get-product-price-info?shortCode=SOME_STRING_VALUE&quantity=SOME_NUMBER_VALUE&lang=SOME_STRING_VALUE&priceListGroup=SOME_STRING_VALUE&priceListIds=SOME_STRING_VALUE&companyId=SOME_STRING_VALUE&templateId=SOME_STRING_VALUE&priceType=SOME_STRING_VALUE&vatType=SOME_STRING_VALUE' \ --header 'X-API-KEY: REPLACE_KEY_VALUE'
{- "price": 310,
- "unitPrice": 310,
- "currency": "EUR",
- "deliveryTime": 0,
- "totalWeight": 0,
- "unitWeight": 0,
- "weightUnit": "kg",
- "vatType": "INCL_VAT",
- "levels": [
- {
- "quantityMin": 1,
- "quantityMax": 0,
- "price": 310,
- "pricePart": 0,
- "discount": 0
}
], - "itemMasters": [
- {
- "code": "A11/UW",
- "quantity": 1,
- "deliveryTime": 35,
- "weight": 0,
- "weightUnit": "kg",
- "m3": 0,
- "dimensions": {
- "width": 0,
- "height": 0,
- "depth": 0
}
}
], - "pricesPerGroup": [
- {
- "priceGroupId": "PCGRP-7b91864d-7c20-46bf-92b5-dc88ffbfe6c9",
- "unitPrice": 310,
- "codes": [
- {
- "priceCodeLineId": "PCLID-7997ae3c-791e-4069-a85a-c68661b04b29",
- "unitPrice": 40
}
]
}
], - "errors": [
- "Missing required parameter: one of 'companyId', 'priceListIds', 'publicListGroup' or 'templateId' must be provided"
], - "components": [
- {
- "price": 1274,
- "unitPrice": 1274,
- "currency": "USD",
- "deliveryTime": 15,
- "unitWeight": 3,
- "totalWeight": 3,
- "weightUnit": "kg",
- "vatType": "INCL_VAT",
- "itemMasters": [
- {
- "code": "A11/UW",
- "quantity": 1,
- "deliveryTime": 35,
- "weight": 0,
- "weightUnit": "kg",
- "m3": 0,
- "dimensions": {
- "width": 0,
- "height": 0,
- "depth": 0
}
}
]
}
]
}Returns the full configuration details for a product identified by its short code. This includes selected options across all configuration blocks, the Bill of Materials, SKU, and commerce bundle settings.
The response structure varies by product mode:
components array where each entry is a fully configured product with its own options, SKU, short code, and placement typeUse this endpoint to retrieve what the user configured — option selections, generated codes, and manufacturing data. For pricing, use /get-product-price-info instead.
This endpoint returns the same configuration data available in the mimeeq-add-to-cart event payload, but accessible server-side via short code. Useful for order confirmation pages, backend validation, or systems that need to reconstruct configuration details after the browser session ends.
| shortCode required | string Configuration short code (for standard/hybrid products) or scene short code (for modular products). Embed short codes are not accepted — see Short Codes for the distinction. |
| quantity | number Deprecated Quantity parameter. Deprecated — quantity no longer affects the product info response. Use |
| lang | string Language code for localized content (product names, option names). Falls back to the customer's default language if not provided. |
curl --request GET \ --url 'https://mimeeqapi.com/get-product-info?shortCode=SOME_STRING_VALUE&quantity=SOME_NUMBER_VALUE&lang=SOME_STRING_VALUE' \ --header 'X-API-KEY: REPLACE_KEY_VALUE'
{- "name": "l'atelier by paper republic",
- "code": "L_ATELIER_PAPER_REPUBLIC",
- "description": "string",
- "configuration": [
- {
- "mode": "LINKED",
- "name": "cover colour",
- "blockName": "chooseyourcovercolour",
- "hideOnSpecification": false,
- "options": [
- "venezia"
], - "optionsData": [
- {
- "optionName": "venezia",
- "code": "v",
- "priceCode": "LTH",
- "metafields": {
- "bom": "15",
- "visibility-code": "v"
}, - "fontSize": 130,
- "fontFamily": "Soleil",
- "fontStyleValue": "REGULAR",
- "images": [
- {
- "path": "string",
- "thumbnail": "string",
- "fileName": "string",
- "metafields": { }
}
]
}
]
}
], - "SKU": "",
- "bom": [
- {
- "id": "dc8de98c-eb8a-469a-a72d-14c199bc3358",
- "name": "Standard Cover",
- "code": "lpa6_15_A_RC_T_DS_as",
- "quantity": 1,
- "unit": "each",
- "type": "recipe",
- "customFields": {
- "notes": "Marcin's Notebo"
}, - "subItems": [
- { }
]
}
], - "bundleSettings": {
- "method": "CUSTOM_BUNDLE",
- "customProducts": [
- {
- "id": "string",
- "ordinal": 0,
- "name": "string",
- "sku": "string",
- "quantity": 0,
- "priceCodeGroupAndLineIds": [
- "string"
], - "cartParameters": {
- "property1": "string",
- "property2": "string"
}
}
], - "singleVariants": [
- {
- "id": "string",
- "ordinal": 0,
- "variantId": "string",
- "quantity": 0,
- "cartParameters": {
- "property1": "string",
- "property2": "string"
}
}
], - "bundles": [
- {
- "id": "string",
- "name": "string",
- "type": "DYNAMIC",
- "priceMethod": "SHOPIFY",
- "repeatMasterInComponents": true,
- "overrideTitle": "string",
- "overrideImage": "NONE",
- "components": [
- {
- "id": "string",
- "ordinal": 0,
- "isMaster": true,
- "resource": {
- "type": "SHOPIFY_VARIANT",
- "resourceId": "string"
}, - "quantity": 0,
- "priceCodeGroupAndLineIds": [
- "string"
], - "cartParameters": {
- "property1": "string",
- "property2": "string"
}
}
]
}
]
}, - "status": "ACTIVE",
- "mode": "MODULAR",
- "embedShortCode": "TZE4OX",
- "deliveryInfo": "string",
- "components": [
- {
- "name": "l'atelier by paper republic",
- "code": "L_ATELIER_PAPER_REPUBLIC",
- "description": "string",
- "configuration": [
- {
- "mode": "LINKED",
- "name": "cover colour",
- "blockName": "chooseyourcovercolour",
- "hideOnSpecification": false,
- "options": [
- "venezia"
], - "optionsData": [
- {
- "optionName": "venezia",
- "code": "v",
- "priceCode": "LTH",
- "metafields": {
- "bom": "15",
- "visibility-code": "v"
}, - "fontSize": 130,
- "fontFamily": "Soleil",
- "fontStyleValue": "REGULAR",
- "images": [
- {
- "path": "string",
- "thumbnail": "string",
- "fileName": "string",
- "metafields": { }
}
]
}
]
}
], - "SKU": "",
- "bom": [
- {
- "id": "dc8de98c-eb8a-469a-a72d-14c199bc3358",
- "name": "Standard Cover",
- "code": "lpa6_15_A_RC_T_DS_as",
- "quantity": 1,
- "unit": "each",
- "type": "recipe",
- "customFields": {
- "notes": "Marcin's Notebo"
}, - "subItems": [
- { }
]
}
], - "bundleSettings": {
- "method": "CUSTOM_BUNDLE",
- "customProducts": [
- {
- "id": "string",
- "ordinal": 0,
- "name": "string",
- "sku": "string",
- "quantity": 0,
- "priceCodeGroupAndLineIds": [
- "string"
], - "cartParameters": {
- "property1": "string",
- "property2": "string"
}
}
], - "singleVariants": [
- {
- "id": "string",
- "ordinal": 0,
- "variantId": "string",
- "quantity": 0,
- "cartParameters": {
- "property1": "string",
- "property2": "string"
}
}
], - "bundles": [
- {
- "id": "string",
- "name": "string",
- "type": "DYNAMIC",
- "priceMethod": "SHOPIFY",
- "repeatMasterInComponents": true,
- "overrideTitle": "string",
- "overrideImage": "NONE",
- "components": [
- {
- "id": "string",
- "ordinal": 0,
- "isMaster": true,
- "resource": {
- "type": "SHOPIFY_VARIANT",
- "resourceId": "string"
}, - "quantity": 0,
- "priceCodeGroupAndLineIds": [
- "string"
], - "cartParameters": {
- "property1": "string",
- "property2": "string"
}
}
]
}
]
}, - "productId": "PROD-7dcfda2e-a42b-4c35-98da-e491787cab5d",
- "quantity": 2,
- "shortCode": "HVB2WJ",
- "placementType": "SNAPABLE"
}
], - "modularBundleSettings": {
- "method": "CUSTOM_PRODUCT",
- "singleBundle": {
- "priceMethod": "SHOPIFY",
- "repeatMasterInComponents": true,
- "overrideTitle": "string",
- "overrideImage": true
}, - "customBundles": {
- "undefinedElementsStrategy": "ADD_AS_SINGLE_ITEMS",
- "singleVariantProductIds": [
- "string"
], - "bundles": [
- {
- "id": "string",
- "name": "string",
- "method": "CUSTOM_PRODUCT",
- "priceMethod": "SHOPIFY",
- "repeatMasterInComponents": true,
- "overrideTitle": "string",
- "overrideImage": true,
- "bundleProductIds": [
- "string"
]
}
]
}
}
}Returns a list of all products accessible to the authenticated API key. This includes both owned products and products shared from other customers. Use this for building product catalogs, galleries, or admin interfaces.
The response includes summary metadata for each product — names, images, status, mode, and identifiers — but not full configuration details. To get the detailed configuration of a specific product, use /get-product-info with the product's embed short code or a configuration short code.
Products with mode COMPONENT are building blocks for modular scenes and won't have an embedShortCode.
curl --request GET \ --url https://mimeeqapi.com/get-products-general-info \ --header 'X-API-KEY: REPLACE_KEY_VALUE'
[- {
- "productId": "PROD-e6e35a89-159c-413e-98b6-8260367c554a",
- "variantCode": "FC",
- "name": {
- "en": "Fusion Chair by BoConcept"
}, - "displayName": {
- "en": "Fusion Chair by BoConcept"
}, - "description": {
- "property1": "string",
- "property2": "string"
}, - "manufacturer": "BoConcept",
- "designer": "Oki Sato",
- "collection": "Fusion",
- "status": "ACTIVE",
- "visibility": true,
- "privacy": "PUBLIC",
- "type": "3D",
- "mode": "VARIANT",
- "defaultConfigurationCode": "SeatFinishes-a3&LegFinishes-a2",
- "embedShortCode": "OSLJKR",
- "createdAt": "2022-02-11T11:08:49.783Z",
- "modifiedAt": "2025-03-16T12:53:32.076Z",
- "hoverImage": "string",
- "isOwn": true,
- "tags": [
- "furniture",
- "chair"
]
}
]Generates a unique, persistent short code for a specific product configuration. This is the server-side equivalent of the getShortcode Web API utility — use this endpoint when you need to generate short codes outside the browser context (e.g., from a backend service).
The short code can be used with /get-product-info and /get-product-price-info to retrieve configuration details and pricing, or to reconstruct the configuration in the embedded configurator.
This is useful for saving configurations to external systems (e.g., cart items, wishlists, order records) where you need a compact identifier that can reload the exact configuration later.
| productId required | string The product ID to generate a short code for (e.g., |
| configurationCode required | string The full configuration code string encoding all selected options (e.g., |
{- "productId": "PROD-cea07359-5a49-4c8c-9557-9a091aeff8b1",
- "configurationCode": "SeatFinishes-a3&LegFinishes-a2"
}{- "shortCode": "2W1PQZ"
}