Skip to main content

Authentication Overview

Mimeeq supports end-user sign-in for personalized configurator experiences and API keys for server integrations. This page explains which approach fits your integration and what authenticated user sessions unlock.

User Sessions and API Keys

IntegrationAuthenticationPurpose
Browser → configuratormmq-auth / mimeeqAuth user sessionSign-in, company pricing, restricted products, and saved configurations
Your server → Embed API (mimeeqapi.com)Embed API key in X-API-KEYBring products customized by users into business workflows using their full configuration details and calculated prices
Your server → Admin API (admin.mimeeqapi.com/v1)Admin key in Authorization: Bearer …Overall Mimeeq setup and administrative data, with scoped access to supported operations

Signing in a visitor does not authenticate your server's API requests. API keys also do not create a visitor session.

Embed Authentication

The mmq-auth web component and the mimeeqAuth JavaScript API handle browser-based user sessions. When a user signs in, the configurator adjusts pricing, product access, and available features to their identity.

Use embed auth when end users on your website need personalized configurator experiences.

REST API Authentication

Choose an Admin API key to work with your overall Mimeeq setup and administrative resources, such as catalog organization, global option sets, companies, and pricing data. Choose an Embed API key to bring products customized by users into your business workflows by retrieving their full configuration details and calculated prices. You can also list available products and generate configuration short codes. The Embed API works with configured product data rather than managing account settings or product setup. Both key types are managed under Settings → Customer settings → API Management → API Keys, in separate sections.

Keep API keys on your server. See the Authorization Guide for the correct key, host, and header, or start with the Admin API Quickstart.

What Authenticated Sessions Unlock

An unauthenticated visitor sees public products at public pricing. When a user signs in through embed auth, the configurator unlocks additional capabilities based on the user type and company assignment.

Pricing and Currency

Authenticated users can access company-specific price lists, which may use a different currency, different price levels, or different VAT display rules compared to public pricing. Admin users can switch between companies and price types using the built-in price selector. Partner users see the pricing assigned to their company.

For a full explanation of how pricing resolves based on authentication state, see Pricing Overview.

Restricted Products

Products with Restricted privacy are invisible to unauthenticated visitors. Once signed in, a Partner user whose company belongs to an authorized Company Group can see and configure these products. Admin users always have access to restricted products regardless of group membership.

Products with Private privacy are only accessible to customer admin users.

For the full interaction between status, privacy, and visibility, see Product Visibility.

Favourites and Saved Scenes

Authenticated users can save product configurations to favourites collections (standard products) and save complete modular scenes (modular products). These persist across sessions and can be organized into private or public collections. The Favourites embed type provides a dedicated UI for browsing saved items.

Mimeeq Basket

The Mimeeq basket can be configured to require authentication — when basketForLoggedInOnly is enabled on the embed template, the basket UI and add-to-cart functionality are only available to signed-in users. When an authenticated user adds items to the basket, their profile data (name, email, company) can pre-populate submission forms.

File Downloads

The Files tab in the configurator can contain downloadable resources (technical documents, specification sheets, CAD files). Access to these files can be restricted to authenticated users only, configured per product in the admin panel.

3D Model Export

The "Export 3D" button (GLB/OBJ/STL download) is controlled by three independent checks, all of which must pass:

  1. Product level — export must be enabled on the individual product.
  2. Account level (Settings → Account → Show Export 3D Button) — sets the visibility mode: Public (everyone), Private (admin users), or Restricted (controlled by Company Groups + admin users).
  3. Company Group level (only when account setting is Restricted) — each Company Group has a "Can export 3D" toggle under Settings → Data → Company Groups. A partner user's company must belong to a group with this toggle enabled.

All three layers must allow export for the button to appear. If any layer blocks it, the button is hidden.

  Is export enabled on the product?

┌─ No ──► Button hidden

Yes


Account setting (Settings → Account)?

┌────┼────────────┐
│ │ │
Public Private Restricted
│ │ │
│ │ ▼
│ │ User is Partner?
│ │ │
│ │ ┌─ No ──► Button shown
│ │ │
│ │ Yes
│ │ │
│ │ ▼
│ │ User's company in a
│ │ group with "Can export
│ │ 3D" enabled?
│ │ │
│ │ ┌─ Yes ──► Button shown
│ │ │
│ │ No ──► Button hidden
│ │
│ ▼
│ User is Partner?
│ │
│ ┌─ No ──► Button shown
│ │
│ Yes ──► Button hidden


Button shown (everyone)

User Tiers

All Mimeeq users belong to one of two tiers. The tier determines what the user can do inside the configurator and whether they have access to the admin panel.

CapabilityTier 1 (Customer admin)Tier 2 (Customer partner)
Access admin panelYesNo — redirected to embed URL if configured
Switch active company (price selector)YesNo — sees own company pricing only
Load inactive productsYesNo
Access Private productsYesNo
Access Restricted productsAlwaysOnly if company is in an authorized group
Change price typeAll available typesOnly types enabled for their company
Favourites, basket, file downloadsYesYes
note

Users can be assigned to multiple customers with different roles — for example, admin for one customer and partner for another. The tier applies per customer context, not globally.

Registration

Users can only be registered through the Mimeeq admin panel. Registration is invitation-based — customer admin user must send an invitation. There is no self-registration flow.

This applies to all user types: customer admins and partners.

Choosing Your Approach

ScenarioWhat to useHow it works
Public visitors, no login neededPublic embedVisitors see public products and pricing without a user session.
B2B with Mimeeq-managed usersmmq-authThe configurator loads company pricing, restricted products, and favourites for the signed-in user.
B2B with your own user systemEmbed API + custom pricingYour server calls /get-product-price-info with the user's company ID. Your browser code displays the result with setPrice() on a template with use-custom-pricing enabled.
Overall setup and administrative data integrationAdmin API keyYour server accesses the operations allowed by the key's scopes. Start with the Admin API Quickstart.
Users sign in and your server verifies pricesmmq-auth + Embed APIBrowser sessions and server API credentials are managed independently.

Choose the API by the operation you need, then use its matching key and header. An Admin key is not a replacement for a visitor's session or for the Embed API key used by configuration-pricing calls.

Using companyId with the Embed API

If you manage users in your own system but want to replicate Mimeeq's built-in company pricing, pass the companyId parameter when fetching prices from the Embed API. This returns the same pricing an authenticated Mimeeq user assigned to that company would see in the configurator.

// Server-side: fetch company-specific pricing for your authenticated user
const companyId = getUserMimeeqCompanyId(currentUser); // From your user record

const params = new URLSearchParams({
shortCode: configShortCode,
quantity: String(quantity),
companyId,
priceType: 'RRP',
});

const response = await fetch(`https://mimeeqapi.com/get-product-price-info?${params}`, {
headers: { 'X-API-KEY': process.env.MIMEEQ_EMBED_API_KEY },
});

const priceData = await response.json();

Then pass the result to the configurator using setPrice(). See Custom Pricing Integration for the full implementation pattern.

Next Steps

TopicLink
How sessions work — tokens, expiry, pricing fallbackSession Lifecycle
Sign-in, sign-out, and programmatic auth methodsAuthentication Methods
User profile managementUser Profile
Password recovery flowPassword Recovery
Admin and Embed API key setup and usageAuthorization Guide
How pricing resolves for different user typesPricing Overview
Product visibility and restricted accessProduct Visibility

For generating the auth embed code in the admin panel, see Mimeeq Authentication User Guide.

For how authentication fits into the broader Mimeeq integration model, see the Architecture Overview.