---
title: "IUserChanges Interface"
canonical: https://customerscanvas.com/docs/cc6/customerscanvas.iframeapi.editor.iuserchanges.htm
archived: true
applies_to:
  - product: "Customer's Canvas On-Premises"
  - product: "Design Editor"
    versions: ["6.15.0", "6.x (may differ)"]
---

**You’re viewing outdated documentation.** [View the latest Customer’s Canvas On-Premises documentation](https://customerscanvas.com/docs/on-premises/).

# IUserChanges Interface

**Applies to:** Customer's Canvas On-Premises; Design Editor 6.15.0, 6.x (may differ) · **Archived documentation**
 
A structure containing all changes the user made to the product when personalizing it. For details, see the [Introducing the IFrame API](https://customerscanvas.com/docs/cc6/handling-product-customization.htm.md) topic.
  
 - example
     - ```
// Completing product customization.
editor.finishProductDesign()
    // If product customization is completed successfully.
    .then(function (result) {
        // Get the promise properties.
        stateId = result.stateId;
        userId = result.userId;
        userChanges = result.userChanges;
        console.log("Text user changes: ", userChanges.texts);
    })
    // If there was an error thrown when completing product customization.
    .catch(function (error) {
        console.error("Completing product customization failed with exception: ", error);
    });
```
 
## Properties
 
### inStringPlaceholders
 
inStringPlaceholders: [IUserChangeItem](https://customerscanvas.com/docs/cc6/customerscanvas.iframeapi.editor.iuserchangeitem.htm.md) []

An array of texts entered by the user in text placeholders. For each text placeholder, which was changed by the user, the corresponding object contains its name and new value.
 
### mockups
 
mockups: object

An object containing array of mockups that the user set up. For each mockup, which was applied to a surface, the corresponding object contains the surface and mockup names.
  
#### mockups declaration
 
- #####  [surfaceName: string ]:  string 
   
    The name of a mockup defined for a surface.
 
### surfaces
 
surfaces: [ISurfacesChanges](https://customerscanvas.com/docs/cc6/customerscanvas.iframeapi.editor.isurfaceschanges.htm.md)

An object containing user changes on a per-surface basis. Each surface, where the user changes text elements, has [texts](https://customerscanvas.com/docs/cc6/customerscanvas.iframeapi.editor.iuserchanges.htm.md) and [inStringPlaceholders](https://customerscanvas.com/docs/cc6/customerscanvas.iframeapi.editor.iuserchanges.htm.md) arrays with the element name and new value.
 
### texts
 
texts: [IUserChangeItem](https://customerscanvas.com/docs/cc6/customerscanvas.iframeapi.editor.iuserchangeitem.htm.md) []

An array of texts entered by the user in text elements. For each text element, which was changed by the user, the corresponding object contains its name and new value.
