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
| Integration | Authentication | Purpose |
|---|---|---|
| Browser → configurator | mmq-auth / mimeeqAuth user session | Sign-in, company pricing, restricted products, and saved configurations |
Your server → Embed API (mimeeqapi.com) | Embed API key in X-API-KEY | Bring 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:
- Product level — export must be enabled on the individual product.
- 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).
- 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.
| Capability | Tier 1 (Customer admin) | Tier 2 (Customer partner) |
|---|---|---|
| Access admin panel | Yes | No — redirected to embed URL if configured |
| Switch active company (price selector) | Yes | No — sees own company pricing only |
| Load inactive products | Yes | No |
| Access Private products | Yes | No |
| Access Restricted products | Always | Only if company is in an authorized group |
| Change price type | All available types | Only types enabled for their company |
| Favourites, basket, file downloads | Yes | Yes |
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
| Scenario | What to use | How it works |
|---|---|---|
| Public visitors, no login needed | Public embed | Visitors see public products and pricing without a user session. |
| B2B with Mimeeq-managed users | mmq-auth | The configurator loads company pricing, restricted products, and favourites for the signed-in user. |
| B2B with your own user system | Embed API + custom pricing | Your 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 integration | Admin API key | Your server accesses the operations allowed by the key's scopes. Start with the Admin API Quickstart. |
| Users sign in and your server verifies prices | mmq-auth + Embed API | Browser 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
| Topic | Link |
|---|---|
| How sessions work — tokens, expiry, pricing fallback | Session Lifecycle |
| Sign-in, sign-out, and programmatic auth methods | Authentication Methods |
| User profile management | User Profile |
| Password recovery flow | Password Recovery |
| Admin and Embed API key setup and usage | Authorization Guide |
| How pricing resolves for different user types | Pricing Overview |
| Product visibility and restricted access | Product 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.