> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# GetComponentTypesDisplayData

# Package: appExtensions

# Namespace: ComponentsCatalogService

# Method link: https://dev.wix.com/docs/api-reference/app-management/app-extensions/app-extension-types/get-component-types-display-data.md

## Introduction

Retrieves display metadata for the available component types.

---

## REST API

### Schema

```
 Method: getComponentTypesDisplayData
 Description: Retrieves display metadata for the available component types.
 URL: https://www.wixapis.com/apps/v1/components/v1/components-catalog
 Method: GET
 Return type: GetComponentTypesDisplayDataResponse
  - name: componentTypesDisplayData | type: array<ComponentTypeDisplayData> | description: Display metadata for the available component types.  
     - name: type | type: string | description: Component type.  | validation: maxLength 128
     - name: displayName | type: string | description: Component type display name.  | validation: maxLength 64
     - name: labels | type: array<string> | description: Labels shown for components of this type.  | validation: maxItems 32, maxLength 64
     - name: attributes | type: Attributes | description: Rules enforced for components of this type, such as singular, non-updatable, and non-deletable behavior.  
        - name: singular | type: boolean | description: Whether only one component of this type can exist per app.  
        - name: nonDeletable | type: boolean | description: Whether components of this type can't be deleted.  
        - name: nonUpdatable | type: boolean | description: Whether components of this type can't be updated.  
     - name: description | type: string | description: Component type description shown in the App Dashboard.  | validation: maxLength 512
     - name: exposure | type: Exposure | description: Exposure level of the component type.  
         - enum:
         -     PRIVATE: Unexposed. to be used by dev team only
         -     INTERNAL: Exposed internally
         -     PUBLIC: Exposed to the world
     - name: learnMoreLink | type: string | description: Link to learn more about the component type.  | validation: format WEB_URL
     - name: requiresApproval | type: boolean | description: Whether components of this type require approval before release.  
     - name: exampleComponentData | type: ComponentData | description: Example component data for this component type.  
        - ONE-OF: 
           - name: widgetComponentData | type: WidgetComponentData | description: Create a widget iframe that users can display on their site. We recommend submitting a proposal before using iframes in your app. Learn More: https://devforum.wix.com/en/article/widget-components  
              - name: fixedPositionOption | type: FixedPositionOptions | description: Allow users to resize and move the widget, or pin it to a specific position on all pages of the site.  
                 - name: widgetVertical | type: WidgetVertical | description: Vertical widget position in the browser window  
                         - enum: NONE_VERTICAL, TOP, CENTER_VERTICAL, BOTTOM
                 - name: widgetHorizontal | type: WidgetHorizontal | description: Horizontal widget position in the browser window  
                         - enum: NONE_HORIZONTAL, LEFT, CENTER_HORIZONTAL, RIGHT
              - name: widgetWidthType | type: WidgetWidthType | description: Widget will automatically be stretched to this width after installing it  
                     - enum:
                     -     NONE_TYPE: 
                     -     CUSTOM: A custom width for the widget
                     -     FULL: Full width of the browser window
              - name: width | type: integer | description: Widget width size  | validation: minimum 0, maximum 9999, format int32
              - name: height | type: integer | description: Widget width height  | validation: minimum 0, maximum 9999, format int32
              - name: widgetEndpointUrl | type: string | description: A public link to the widget endpoint  | validation: format WEB_URL
              - name: widgetMobileEndpointUrl | type: string | description: A public link to the mobile endpoint  
              - name: settingsEndpointUrl | type: string | description: A public link to the settings endpoint  
              - name: seoEndpointUrl | type: string | description: A public link to the SEO endpoint  
              - name: widgetDisplay | type: WidgetDisplay | description: Product display data for this component  
                 - name: name | type: string | description:   
                 - name: shortDescription | type: string | description: short description about the widget  | validation: maxLength 300
                 - name: images | type: array<string> | description: images showing off how the widget looks  
                 - name: order | type: integer | description: optional, if no order exist for all components, will be decided by order in array (non-deterministic)  | validation: format int32
                 - name: price | type:  | description:   
                 - name: variationId | type: string | description:   
              - name: default | type: boolean | description: When true, this is the default component  
              - name: essential | type: boolean | description: When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not  
              - name: published | type: boolean | description: Published state for this widget  
              - name: addOnlyOnce | type: boolean | description: When true, allow this widget to be added only once  
              - name: tpaWidgetId | type: string | description: This GUID is used to identify your widget endpoint in a Wix site. You can use this GUID when using methods of the Wix SDK  
              - name: position | type: Position | description: Where this should be rendered  
                 - name: region | type: Region | description:   
                         - enum: no_region, header, pageContainer, footer
              - name: helpId | type: string | description: Article id in settings panel  
              - name: defaultMobileHeight | type: integer | description: Default Mobile Height  | validation: format int32
              - name: minMobileHeight | type: integer | description: Min Mobile Height  | validation: format int32
              - name: mobileSettingsEnabled | type: boolean | description: Mobile Settings Enabled  
              - name: mobileHelpId | type: string | description: Mobile article id in settings panel  
              - name: settingsVersion | type: integer | description: Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2  | validation: minimum 1, maximum 2, format int32
              - name: settingsEndpointUrlV1 | type: string | description: If setting version is 1, this will be the public link to the settings endpoint  
              - name: onBoardingSettingsEndpointUrl | type: string | description: A public link to the settings endpoint on ADI editor  
              - name: subPages | type: array<SubPage> | description: The sub pages list for this component to be rendered in  
                 - name: key | type: string | description: The path of the subpage  
                 - name: enumerable | type: boolean | description: If it's sub entities are enumerable for querying (for example, a search endpoint is not enumerable)  
                 - name: hideFromFloatingNavBar | type: boolean | description: Should hide inner routes of this sub page from floating dynamic pages navigation bar  
                 - name: hideFromLinkPanel | type: boolean | description: Should hide this sub page from selections in link panel  
              - name: isStretched | type: IsStretched | description: If this component should be stretched in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: boolean | description:   
                 - name: tablet | type: boolean | description:   
                 - name: mobile | type: boolean | description:   
              - name: margins | type: Margins | description: Any margins this page should have in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DisplayProperties | description:   
                    - name: top | type: DisplayValue | description:   
                       - name: type | type: UnitType | description:   
                                 - enum: NO_UNIT, AUTO, PX, VH, VW, PERCENTAGE
                       - name: value | type: integer | description:   | validation: format int32
                    - name: right | type: DisplayValue | description:   
                    - name: bottom | type: DisplayValue | description:   
                    - name: left | type: DisplayValue | description:   
                 - name: tablet | type: DisplayProperties | description:   
                 - name: mobile | type: DisplayProperties | description:   
              - name: docking | type: Docking | description: Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DockingProperties | description:   
                    - name: horizontal | type: HorizontalDocking | description:   
                             - enum: NO_HDOCKING, LEFT_DOCKING, HCENTER, RIGHT_DOCKING
                    - name: vertical | type: VerticalDocking | description:   
                             - enum: NO_VDOCKING, TOP_DOCKING, VCENTER, BOTTOM_DOCKING
                 - name: tablet | type: DockingProperties | description:   
                 - name: mobile | type: DockingProperties | description:   
              - name: heightBreakPoints | type: Height | description: The height of this page in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DisplayValue | description:   
                 - name: tablet | type: DisplayValue | description:   
                 - name: mobile | type: DisplayValue | description:   
              - name: widthBreakPoints | type: Width | description: The width of this page in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DisplayValue | description:   
                 - name: tablet | type: DisplayValue | description:   
                 - name: mobile | type: DisplayValue | description:   
              - name: addStretchButton | type: boolean | description: Keep default and let users stretch widget to full width (GFPP)  
              - name: excludeFromAutoRevoke | type: boolean | description: toggle to mark whether the editor should revoke an app that contains this component.  
              - name: settingsEndpointUrlTemplate | type: string | description: should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget**  
              - name: settingsEndpointUrlV1Template | type: string | description: should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget**  
              - name: addToHomePage | type: boolean | description: Add widget to site home page (supported only in server installation currently)  
           - name: pageComponentData | type: PageComponentData | description: Display an iframe as a page on a user's site. Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/iframes/guide-to-page-extensions.md  
              - name: isHidden | type: boolean | description: Hide this page from the user’s site menu  
              - name: showInPanel | type: boolean | description: Show in pages menu  
              - name: isFullWidth | type: boolean | description: Set page to full width  
              - name: addStrechButton | type: boolean | description: Keep default and let users stretch page to full width (GFPP)  
              - name: pageEndpointUrl | type: string | description: A public link to the page endpoint  | validation: format WEB_URL
              - name: pageMobileEndpointUrl | type: string | description: A public link to the mobile endpoint  
              - name: settingsEndpointUrl | type: string | description: A public link to the settings endpoint  
              - name: seoEndpointUrl | type: string | description: A public link to the SEO endpoint  
              - name: default | type: boolean | description: When true, this is the default component Main visual component. One components must be default (no more than 1 component)  
              - name: essential | type: boolean | description: Second visual component When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not  
              - name: published | type: boolean | description: Published state for this page  
              - name: tpaWidgetId | type: string | description: This GUID is used to identify your page endpoint in a Wix site. You can use this GUID when using methods of the Wix SDK  
              - name: helpId | type: string | description: Article id in settings panel  
              - name: defaultMobileHeight | type: integer | description: Default Mobile Height  | validation: format int32
              - name: minMobileHeight | type: integer | description: Min Mobile Height  | validation: format int32
              - name: mobileSettingsEnabled | type: boolean | description: Mobile Settings Enabled  
              - name: mobileHelpId | type: string | description: Mobile article id in settings panel  
              - name: settingsVersion | type: integer | description: Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2  | validation: minimum 1, maximum 2, format int32
              - name: settingsEndpointUrlV1 | type: string | description: If setting version is 1, this will be the public link to the settings endpoint  
              - name: onBoardingSettingsEndpointUrl | type: string | description: A public link to the settings endpoint on ADI editor  
              - name: padding | type: Padding | description: The padding to use in different views  
                 - name: desktop | type: DisplayProperties | description:   
                 - name: tablet | type: DisplayProperties | description:   
                 - name: mobile | type: DisplayProperties | description:   
              - name: subPages | type: array<SubPage> | description: The sub pages list for this component to be rendered in  
              - name: excludeFromAutoRevoke | type: boolean | description: toggle to mark whether the editor should revoke an app that contains this component.  
              - name: pageReplaceOptions | type: PageReplaceOptions | description: Options to mark whether this page is replacing other page or is replaced by other page.  
                 - ONE-OF: 
                    - name: replacingOptions | type: ReplacingOptions | description:   
                       - name: pageReplace | type: PageReplace | description: describe the page and application id that this page will replace.  
                          - name: appId | type: string | description: The app id of the page the app can replace  | validation: format GUID
                          - name: pageId | type: string | description: The page id the app can replace  | validation: format GUID
                    - name: replaceableOptions | type: ReplaceableOptions | description:   
                       - name: isReplaceable | type: boolean | description: toggle to mark whether this page can be replaced by other page or app.  
                 - name: type | type: ReplacementType | description:   
                         - enum: UNKNOWN_REPLACEMENT, REPLACING, REPLACEABLE
              - name: linkable | type: boolean | description: Elements in the editor can be linked to this page (a button for example)  
              - name: addToSiteMenu | type: boolean | description: Should add the page to site menu. defaults to true (will add the page to site menu)  
              - name: multiInstanceEnabled | type: boolean | description: Should allow multiple instances of the page (allow duplicate the page). defaults to false (will not allow multiple instances of the page)  
              - name: shortDescription | type: string | description: short description about the page  | validation: maxLength 300
              - name: fullPageDesktopOnly | type: boolean | description: When true, this page is displayed as full page on desktop only  
              - name: landingPageInMobile | type: boolean | description: When true, this page is used as a landing page on mobile  
           - name: dashboardComponentData | type: DashboardComponentData | description: Open an iframe in the Dashboard, or add a link to a page on your platform. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/external-links/about-external-link-extensions.md  
              - name: url | type: string | description: The dashboard url.  | validation: format WEB_URL
              - name: embedded | type: boolean | description: External or Internal dashboard. The user’s Wix Dashboard (recommended) or your platform or site  
              - name: settingsPageUrl | type: string | description: A settings page for users to customize your dashboard  | validation: maxLength 300
              - name: checkStatusUrl | type: string | description:   | validation: maxLength 300
              - name: published | type: boolean | description:   
              - name: hideWixSideMenu | type: boolean | description:   
           - name: workerComponentData | type: WorkerComponentData | description: Use an invisible iframe to track activity. It’s added to every page on the site (max. 1). Learn More: https://devforum.wix.com/en/article/worker-components  
              - name: workerEndpointUrl | type: string | description: A public link to the worker endpoint  | validation: format WEB_URL
           - name: embeddedScriptComponentData | type: EmbeddedScriptComponentData | description: Inject a script into a site’s HTML code. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/embedded-scripts/about-embedded-scripts.md  
              - name: template | type: string | description: The script  
              - name: name | type: string | description: A name that’s unique to this component. Names can include letters and the hyphen (-) character only  
              - name: pages | type: EmbeddedScriptPages | description: What category of pages this will be embedded on (single, many, none)  
                     - enum:
                     -     NONE_PAGES: It will not be embedded
                     -     ONCE: It will be embedded once
                     -     SPECIFIC_PAGES: It will be embedded multiple times on specific pages
              - name: placement | type: EmbeddedScriptPlacement | description: Where in the HTML this should be embedded  
                     - enum:
                     -     NONE_PLACEMENT: It will not be rendered
                     -     HEAD: In the document head
                     -     BODY_START: Prepended before all children already rendered in the body tag
                     -     BODY_END: Appended after the last child already rendered in the body tag
              - name: connectArticleUrl | type: string | description: An article explaining how to activate the script  
              - name: embedCategory | type: EmbedCategory | description: Type of script you are injecting. This will be used for GDPR and cookie consent purposes  
                     - enum:
                     -     UNKNOWN: Not categorized yet
                     -     ESSENTIAL: Must load regardless of policy
                     -     FUNCTIONAL: Adds optional functionality to the site
                     -     ANALYTICS: Adds analytics abilities to the site
                     -     ADVERTISING: Adds advertising content or advertising tracking to the site
              - name: loadOnce | type: boolean | description: if the script should be loaded once - default and only supported value is true  
              - name: allowedForFreeSite | type: boolean | description: allow developers to decide if their app script can be install on free sites  
              - name: dependencies | type: array<WixDependency> | description: The runtime dependencies array to declare the widget packages.  | validation: maxItems 50
                 - name: packageName | type: string | description: The fully qualified package name from npm, example: @wix/frontend-location  | validation: minLength 2, maxLength 100
                 - name: version | type: integer | description: The major version of the package (this may be a detail included in the package name, but is conventional in NPM with semver semantics  
           - name: dataComponent | type: DataComponent | description: Extend a site’s CMS to store and manage custom data. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/data-collections/about-data-collections-extensions.md  
              - name: collections | type: array<Collection> | description: Data collections automatically added to a site when the app is installed.  | validation: maxItems 100
                 - name: idSuffix | type: string | description: Required. Collection GUID suffix. The app namespace is automatically prepended in the CMS. For example, the full GUID for `my-products-1` becomes `@company/app-name/my-products-1`.  | validation: maxLength 256
                 - name: displayName | type: string | description: Collection's display name as shown in the CMS. For example, `My First Collection`.  | validation: minLength 1, maxLength 1000
                 - name: displayField | type: string | description: Field whose value the CMS displays to represent the collection item when referenced in a different collection.  | validation: minLength 1, maxLength 1000
                 - name: fields | type: array<Field> | description: Required. Collection's field structure.  | validation: minItems 1, maxItems 1000
                    - ONE-OF: 
                       - name: referenceOptions | type: ReferenceOptions | description: Metadata for a reference field.  
                          - name: referencedCollectionId | type: string | description: Referenced collection GUID.  | validation: minLength 1, maxLength 256
                       - name: multiReferenceOptions | type: MultiReferenceOptions | description: Metadata for a multi-reference field.  
                          - name: referencedCollectionId | type: string | description: Referenced collection GUID.  | validation: minLength 1, maxLength 256
                       - name: objectOptions | type: ObjectOptions | description: Metadata for an object field.  
                          - name: fields | type: array<ObjectField> | description: Fields within the object.  | validation: maxItems 1000
                             - ONE-OF: 
                                - name: objectOptions | type: ObjectOptions | description: Metadata for an object field.  
                                - name: arrayOptions | type: ArrayOptions | description: Metadata for an array field.  
                                   - ONE-OF: 
                                      - name: objectOptions | type: ObjectOptions | description: Metadata for an object field.  
                                      - name: arrayOptions | type: ArrayOptions | description: Metadata for an array field.  
                                   - name: elementType | type: Type | description: Element's data type.  
                                                 - enum:
                                                 -     TEXT: Plain-text string.
                                                 -     NUMBER: Number.
                                                 -     DATE: Date string in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DD`.
                                                 -     DATETIME: [JavaScript Date object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) (SDK) or an object in the following format: `"someFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}`.
                                                 -     IMAGE: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     BOOLEAN: Boolean `true` or `false` value.
                                                 -     DOCUMENT: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     URL: URL in one of the following formats: `http://`, `https://`, `ftp://`, `mailto:`, `sms:`, `tel:`.
                                                 -     RICH_TEXT: [Rich-text](https://dev.wix.com/docs/rest/articles/getting-started/rich-text.md) string that may contain a subset of HTML tags.
                                                 -     VIDEO: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     ANY: Any field type.
                                                 -     ARRAY_STRING: Array of strings.
                                                 -     ARRAY_DOCUMENT: Array of documents: web or [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URLs.
                                                 -     AUDIO: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     TIME: Time string in `hh:mm:ss.SSS` format.
                                                 -     LANGUAGE: Language codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format. These may include country codes in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#officially_assigned_code_elements) format.
                                                 -     RICH_CONTENT: [Rich content](https://dev.wix.com/docs/ricos/getting-started/introduction.md).
                                                 -     MEDIA_GALLERY: Array of web or [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URLs.
                                                 -     ADDRESS: Physical [address object](https://dev.wix.com/docs/api-reference/business-solutions/cms/data-types-in-wix-data.md#address-object).
                                                 -     REFERENCE: Reference to another item in another collection. See [Query Referenced Data Items](https://dev.wix.com/docs/api-reference/business-solutions/cms/data-items/query-referenced-data-items.md) to learn about item references.  If you select this type, then you must pass the `referencedCollectionId` field as well.
                                                 -     MULTI_REFERENCE: References to multiple items in another collection. See [Query Referenced Data Items](https://dev.wix.com/docs/api-reference/business-solutions/cms/data-items/query-referenced-data-items.md) to learn about item references.
                                                 -     OBJECT: JSON object.
                                                 -     ARRAY: Array.
                             - name: key | type: string | description: Field GUID.  | validation: minLength 1, maxLength 1000
                             - name: displayName | type: string | description: Display name for the field.  | validation: minLength 1, maxLength 1000
                             - name: type | type: Type | description: Field type.  Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data.md).  
                       - name: arrayOptions | type: ArrayOptions | description: Metadata for an array field.  
                    - name: key | type: string | description: Required. Unique identifier for the field. For example, `firstName`.  | validation: minLength 1, maxLength 1000
                    - name: displayName | type: string | description: Field's display name when displayed in the CMS. For example, `First Name`.  | validation: minLength 1, maxLength 1000
                    - name: type | type: Type | description: Required. Field's data type.  Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data.md).  
                    - name: encrypted | type: boolean | description: Whether the field is encrypted.  
                    - name: description | type: string | description: Field description.  | validation: maxLength 16000
                 - name: dataPermissions | type: DataPermissions | description: Required. Levels of permission for accessing and modifying data, defined by the lowest role needed to perform each action.  
                    - name: itemRead | type: AccessLevel | description: Required. Access level required to read data items.  
                             - enum:
                             -     ANYONE: Anyone, including site visitors.
                             -     SITE_MEMBER: Any signed-in user, including site members and collaborators.
                             -     SITE_MEMBER_AUTHOR: Any signed-in user, but site members only have access to their own items.
                             -     CMS_EDITOR: Site collaborator that has a role with CMS access permission.
                             -     PRIVILEGED: CMS administrators and users or roles granted special access.
                    - name: itemInsert | type: AccessLevel | description: Required. Access level required to insert data items.  
                    - name: itemUpdate | type: AccessLevel | description: Required. Access level required to update data items.  
                    - name: itemRemove | type: AccessLevel | description: Required. Access level required to remove data items.  
                 - name: indexes | type: array<Index> | description: Indexes defined for the collection. An index is a map of a collection's data, organized according to specific fields to increase query speed.  | validation: maxItems 3
                    - name: fields | type: array<Field> | description: Fields for which the index is defined.  Max: 3 fields (for a unique index: 1 field)  | validation: minItems 1, maxItems 3
                       - name: path | type: string | description: Path of the field to index. For example: `title` or `options.price`.  | validation: minLength 1, maxLength 128
                       - name: order | type: Order | description: Sort order for the index. Base on how the data is regularly queried.  Default: `ASC`  
                                 - enum: ASC, DESC
                    - name: unique | type: boolean | description: Whether the index enforces uniqueness of values in the field for which it is defined. If `true`, the index can have only one field.  Default: `false`  
                 - name: initialData | type: array | description: Optional initial data to populate the collection with.  | validation: maxItems 1000
           - name: widgetPlugin | type: WidgetPluginComponentData | description: Display a widget that fits into a predefined slot in a Wix app. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-plugins/about-site-plugin-extensions.md  
              - name: referenceComponentId | type: string | description: GUID of the widget used for the plugin component.  | validation: format GUID
              - name: pluginInterfaces | type: array<PluginInterface> | description: APIs implemented by the Plugin's widget.  
                     - enum:
                     -     NONE_INTERFACE: No public APIs exposed
                     -     REVIEWS: The slot requires the REVIEWS interface to be implemented by the plugin. The plugin specifies the implementation of the REVIEWS interface
                     -     RATINGS_SUMMARY: The slot requires the RATINGS_SUMMARY interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY interface
                     -     RATINGS_SUMMARY_OOI_LIST: The slot requires the RATINGS_SUMMARY_OOI_LIST interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY_OOI_LIST interface
                     -     BOOKINGS_SERVICE: The slot requires the BOOKINGS_SERVICE interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_SERVICE interface
                     -     BOOKINGS_FORM: The slot requires the BOOKINGS_FORM interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_FORM interface
                     -     BASE: The slot requires the BASE interface to be implemented by the plugin. The plugin specifies the implementation of the BASE interface
                     -     EVENT: The slot requires the EVENT interface to be implemented by the plugin. The plugin specifies the implementation of the EVENT interface
                     -     PRODUCT: The slot requires the PRODUCT interface to be implemented by the plugin. The plugin specifies the implementation of the PRODUCT interface
                     -     CHECKOUT: The slot requires the CHECKOUT interface to be implemented by the plugin. The plugin specifies the implementation of the CHECKOUT interface
                     -     CATEGORY: The slot requires the CATEGORY interface to be implemented by the plugin. The plugin specifies the implementation of the CATEGORY interface
                     -     BOOKINGS_CALENDAR: The slot requires the BOOKINGS_CALENDAR interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_CALENDAR interface
                     -     CART: The slot requires the CART interface to be implemented by the plugin. The plugin specifies the implementation of the CART interface
              - name: marketData | type: PluginMarketData | description: Marketing information about the plugin.  
                 - name: name | type: string | description: Plugin name.  | validation: minLength 1, maxLength 50
                 - name: description | type: string | description: Plugin description.  | validation: maxLength 130
                 - name: logoUrl | type: string | description: Plugin logo. 35x35px in JPG or PNG format.  | validation: format WEB_URL
              - name: placements | type: array<PluginPlacement> | description: List of placements where the plugin is allowed to be installed.  
                 - name: appDefinitionId | type: string | description: Slot app definition GUID.  | validation: format GUID
                 - name: widgetId | type: string | description: Slot app component GUID.  | validation: format GUID
                 - name: slotId | type: string | description: Slot GUID.  | validation: minLength 1
              - name: installation | type: PluginInstallationSettings | description: Widget plugin installation settings.  
                 - name: base | type: BaseInstallation | description: Shared installation settings for unified components  
                    - name: autoAdd | type: boolean | description: Auto add component to stage  
                    - name: essential | type: boolean | description: Mark component as essential for the existence of the app (force to delete the whole app)  
                    - name: maxInstances | type: integer | description: Max instances of the component that can be on site  | validation: minimum 0, format int32
           - name: ecomShippingRates | type: ShippingRatesConfig | description: Provide custom shipping rates to a site's cart and checkout. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/shipping-rates-integration-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI. For example, to call the Get Shipping Rates endpoint at `https://my-shipping-provider.com/v1/getRates`, the base URI you provide here is `https://my-shipping-provider.com/`.  | validation: minLength 1
              - name: name | type: string | description: Human-readable name of the shipping provider.  | validation: minLength 1, maxLength 64
              - name: description | type: string | description: Description of the shipping provider.  | validation: maxLength 200
              - name: learnMoreUrl | type: string | description: URL to more info about the shipping provider.  | validation: maxLength 200
              - name: dashboardUrl | type: string | description: URL to reach the shipping provider app's dashboard.  | validation: minLength 1, maxLength 2048, format WEB_URL
              - name: fallbackDefinitionMandatory | type: boolean | description: Whether to require the site owner to define a fallback/default rate. Set to `true` if you do not provide rates as part of the integration.  
              - name: thumbnailUrl | type: string | description: Thumbnail image of the shipping rates provider. Displayed in the shipping settings section in the Dashboard. The URL must be of an image uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager).  | validation: format WEB_URL
           - name: dataExtensions | type: DataExtensionsComponentData | description: Extend a Wix entity with custom fields for your app  
              - name: fqdn | type: string | description: FQDN of the entity that the application extends  
              - name: schema | type: object | description: Schema of the extended fields in JSON Schema compatible format  
              - name: extensionPoint | type: string | description: Extension point for this schema. empty string or "ROOT" means regular top level schema  | validation: maxLength 20
           - name: ecomCatalog | type: CatalogSPIConfig | description: Become a Wix catalog provider and integrate any external repository of sellable items with the Wix eCommerce platform. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/catalog-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI which Wix eCommerce will call to access Catalog service plugin endpoints. For example, to call the Get Catalog Items endpoint at `https://my-external-catalog.com/get-catalog-items`, the base URI you provide here is `https://my-external-catalog.com`.  
              - name: allItemsDiscount | type: DiscountConfig | description: Configuration details for discounts applied to all items in the catalog.  
                 - name: enabled | type: boolean | description: Whether the discount is enabled.  Default: `false`.  
                 - name: translationKey | type: string | description: Translation key for text to display to the site owner.  | validation: minLength 5, maxLength 100
              - name: specificItemsDiscount | type: DiscountConfig | description: Configuration details for discounts applied to specific items in the catalog.  
           - name: giftCardsProvider | type: GiftCardProviderConfig | description: Implement gift card benefits such as balance retrieval, redemption, and voiding transactions. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/gift-cards-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: The URL of the SPI implementation  
           - name: seoKeywordsSuggestions | type: SeoKeywordsSuggestionsSPIConfig | description: Provide SEO keyword suggestions to site collaborators, report quota usage, and provide a page where users can upgrade their plan. Learn More: https://dev.wix.com/docs/rest/api-reference/marketing/seo-keywords-suggestions-v-1/introduction.md  
              - name: baseUri | type: string | description: Base URL of your SEO implementation. Wix sends API requests to endpoints implemented using this URL.  | validation: minLength 1
              - name: upgradeUrl | type: string | description: URL of the page where users can purchase a paid plan. Wix offers a link to this page when you respond with a value of `false` in quota's `paidPlan` property.  | validation: format WEB_URL
              - name: supportedCountryCodes | type: array<string> | description: List of countries you support for SEO analysis. 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format.  | validation: minItems 1, maxItems 250, format COUNTRY
              - name: quotaEnabled | type: boolean | description: Whether there is a quota limit in the service. When `true`, the response includes the quota object.  
              - name: landingPageUrl | type: string | description: Your website's landing page.  | validation: format WEB_URL
           - name: backOfficePage | type: BackOfficePage | description: Configure a page for your app that will be embedded in the Wix Dashboard. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-pages/about-dashboard-page-extensions.md  
              - ONE-OF: 
                 - name: iframeUrl | type: string | description:   | validation: format WEB_URL
              - name: routePath | type: string | description: The route of the page, must be a valid URL path, relative to the app namespace or app id  
              - name: previousRoutePaths | type: array<string> | description: Routes that redirect to this page, these paths should include the original path including the namespace or app id  
              - name: title | type: string | description: Page title, also used as sidebar entry label  | validation: minLength 1
              - name: fullPage | type: boolean | description: False by default, if true, sidebar will be hidden when loading the page  
              - name: pageCategoryId | type: string | description: Optional: category this page belongs to  | validation: format GUID
              - name: hideInSidebar | type: boolean | description: Should the page be shown or hidden in the sidebar, by default a link to the page will be shown  
              - name: priority | type: integer | description: Sidebar order within the category and app, lower priority means the page is earlier, by default priority is 0, meaning newer pages will appear first  
              - name: activeSidebarPageId | type: string | description: Which page is active in sidebar when this page is loaded  | validation: format GUID
              - name: metaData | type: ComponentMetaData | description: general component data  
                 - name: title | type: string | description:   | validation: minLength 1, maxLength 200
                 - name: description | type: string | description:   | validation: minLength 1, maxLength 200
                 - name: keywords | type: array<Keywords> | description: Searchable keywords  | validation: maxItems 100
                    - name: id | type: string | description: Keyword GUID  
                    - name: value | type: string | description:   | validation: minLength 1, maxLength 200
                 - name: searchable | type: boolean | description: Is searchable  
                 - name: aiContext | type: AiContext | description:   
                    - name: description | type: string | description:   | validation: minLength 20, maxLength 10000
              - name: iconKey | type: string | description: [Wix Design System icon](https://www.wix-pages.com/wix-design-system-employees/?path=/story/foundations-icons--icons). Use the full size key. The icon will be rendered in an appropriate size.  | validation: minLength 3, maxLength 50
              - name: pageAnchors | type: array<PageAnchor> | description: Anchors for direct navigation to specific sections of the page  | validation: maxItems 50
                 - name: relativeUrl | type: string | description: A URL path relative to the page route for direct navigation to a specific section  | validation: minLength 1, maxLength 100
                 - name: iconKey | type: string | description: [Wix Design System icon](https://www.wix-pages.com/wix-design-system-employees/?path=/story/foundations-icons--icons). Use the full size key. The icon will be rendered in an appropriate size.  | validation: minLength 3, maxLength 50
                 - name: metaData | type: AnchorMetaData | description: metadata for the page anchor  
                    - name: title | type: string | description:   | validation: minLength 1, maxLength 200
                    - name: description | type: string | description:   | validation: minLength 1, maxLength 200
                    - name: keywords | type: array<Keywords> | description: anchor keywords  | validation: maxItems 100
                 - name: id | type: string | description: anchor GUID  | validation: maxLength 50
              - name: layoutMode | type: LayoutMode | description: Determines how the page layout is rendered. Allowed values: "standard_view", "builder_view", "expanded_view", default: "standard_view".  
                     - enum: STANDARD_VIEW, BUILDER_VIEW, EXPANDED_VIEW
              - name: mobileCompatible | type: boolean | description: whether the page supports mobile devices, default is false, meaning the page is redirected to native app  
           - name: ecomAdditionalFees | type: AdditionalFeesSPIConfig | description: Provide custom additional fees that are added to a site's cart and checkout. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/additional-fees-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI. For example, to call the Calculate Additional Fees endpoint at `https://my-additional-fees.com/v1/calculateAdditionalFees`, the base URI you provide here is `https://my-additional-fees.com/`.  
           - name: bookingsPricingProvider | type: BookingsPricingProviderConfig | description: Bookings Pricing Provider SPI  
              - name: deploymentUri | type: string | description: URI where the SPI Implementer is deployed  
              - name: pricingProviderName | type: string | description: User-friendly name of the pricing provider  
           - name: premiumCustomCharges | type: CustomChargesConfig | description: Apply custom charges to a site based on usage of your app's services. Learn More: https://dev.wix.com/docs/rest/api-reference/app-management/apps/custom-charges-spi/introduction.md  
              - name: baseUri | type: SpiBaseUri | description: Base URI where the endpoints are called. Wix appends the endpoint path to the base URI.  For example, to call the Premium Custom Charges endpoint at `https://custom-charges.com/v1/premium-custom-charges`, the base URI you provide here is `https://custom-charges.com/`.  
                 - name: baseUri | type: string | description: Base URI for your service plugin. Wix appends each method's path to this URI.  For example, to receive requests at `https://my-app.com/v1/my-method`, set this field to `https://my-app.com/`.  | validation: minLength 6, maxLength 2048
                 - name: alternativeUris | type: array<AlternativeUri> | description: Alternative URIs for specific methods. Use these to override the default URI for individual methods.  
                    - name: methodName | type: string | description: Name of the method to call at the absolute URI, in PascalCase. For example, to call [Get Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/extensions/shipping-rates/shipping-rates-integration-service-plugin/get-shipping-rates.md) on an alternative URI, specify `GetShippingRates`.  | validation: minLength 3, maxLength 128
                    - name: absoluteUri | type: string | description: Absolute URI that Wix calls for this method. Wix doesn't append any path to this URI.  The URI must begin with `https://`, such as `https://my-app.com/v1/my-custom-method`.  | validation: minLength 6, maxLength 2048
           - name: ecomValidations | type: ValidationsSPIConfig | description: Validate items in a site's cart and checkout based on custom logic. Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/validations-integration-spi/introduction.md  
              - name: validateInCart | type: boolean | description: Whether to validate the cart page in addition to the checkout page. Default: `false`  
              - name: deploymentUri | type: string | description: Required. Base URI where the endpoints are called. Wix appends the endpoint path to the base URI. For example, to call the Get Validation Violations endpoint at `https://my-validations.com/v1/get-violations`, the base URI you provide here is `https://my-validations.com`.  | validation: minLength 1
           - name: editorAddon | type: EditorAddon | description: Build a tool that adds functionality to the Wix editors. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/editor-extensions/about-editor-extensions.md  
              - name: toolPanelConfig | type: ToolPanelConfig | description: Tool panel configuration.  
                 - name: url | type: string | description: Iframe URL that hosts the add-on tool panel's content.  | validation: format WEB_URL
                 - name: width | type: string | description: Addon tool panel width.  
                 - name: height | type: string | description: Addon tool panel height.  
                 - name: initialPosition | type: InitialPosition | description: Initial position of the opened panel. Offset from top left corner of the container.  
                    - name: x | type: string | description: Offset from the left. For example, `"50px"`.  
                    - name: y | type: string | description: Offset from the top. For example, `"50px"`.  
              - name: marketData | type: AddonMarketData | description: Information to display in the addons market.  
                 - name: name | type: string | description: Addon name.  | validation: minLength 5
                 - name: iconUrl | type: string | description: URL source of the addon's icon. Must be 36px x 36px in JPG or PNG format.  | validation: format WEB_URL
                 - name: author | type: string | description: Author's name.  
                 - name: teaser | type: string | description: Addon teaser.  | validation: minLength 10, maxLength 60
              - name: editorScript | type: string | description: Optional, path to a Javascript file that will run in Editor environment  | validation: format WEB_URL
              - name: excludeFromAutoRevoke | type: boolean | description: Toggle to mark whether the editor should revoke an app that contains this component.  
           - name: externalDatabaseProvider | type: ExternalDatabaseSpiConfig | description: External Database component  
              - name: uriConfig | type: SpiBaseUri | description: The URI where the service provider is deployed.  
              - name: namespace | type: string | description: The namespace of the external database. This can be used to access collections within the database, for example `namespace/collectionId`.  
           - name: ecomPaymentSettings | type: PaymentSettingsSPIConfig | description: Integrate your service with Wix's payment process to allow merchants to request and use your services on their Wix sites. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/payment-settings-integration-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI. For example, to call the Get Payment Settings endpoint at `https://my-payment-settings.com/v1/payment-settings`, the base URI you provide here is `https://my-payment-settings.com/`.  
              - name: fallbackValueForRequires3dSecure | type: boolean | description: The fallback value that is used for [`requires3dSecure`](https://support.wix.com/en/article/about-3d-secure-3ds-payments-with-third-party-payment-providers) if the service plugin call fails.  Default: `false`  
           - name: unifiedPage | type: UnifiedPage | description: Add a site page that displays selected widgets. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions.md  
              - name: base | type: BaseInfo | description: Base info of component by shared logic of unified components  
                 - name: name | type: string | description: The name of the component  | validation: minLength 1, maxLength 30
                 - name: id | type: string | description: The internal id of the component by the own app  
                 - name: description | type: string | description: The description of the component by the own app  | validation: maxLength 130
                 - name: helpResources | type: HelpResources | description: Reference to help articles about the widget  
                    - name: articleId | type: string | description: The Wix Answers' article related to the component (chosen by own app)  | validation: format GUID
              - name: pageReplace | type: PageReplaceOptions | description: Page replacing options (replacer \ replacing \ none)  
              - name: content | type: PageContent | description: Content of page  
                 - name: widgets | type: array<WidgetAsContent> | description: Widgets to add as content in page.  
                    - name: widgetGuid | type: string | description: GUGUID of widget to use as content of page  | validation: format GUID
                    - name: preset | type: MainPresets | description: The preset should be used  
                       - name: desktopPresetId | type: string | description: The main desktop preset.  
                       - name: tabletPresetId | type: string | description: The main tablet preset.  
                       - name: mobilePresetId | type: string | description: The main mobile preset.  
                    - name: essential | type: boolean | description: Mark widget as essential for the existence of the app (force to delete the whole app)  
                 - name: pageComposition | type: CompositionRef | description: Whole-page composition. The referenced composition must have CompTypeDomain.PAGE template_type. Exclusive with widgets — at most one of the two may be set.  
                    - name: templateId | type: string | description: Stable handle to the underlying structure-template on the structure-templates server.  | validation: format GUID
                    - name: displayName | type: string | description: Display label for the composition in Editors.  | validation: maxLength 100
              - name: editorSettings | type: UnifiedPageEditorSettings | description: Settings for how the page integrates with the editor  
                 - name: base | type: PageEditorSettings | description: Basic editor settings that are relevant to all page types  
                    - name: addToSiteMenu | type: boolean | description: Add the page to the site menu  
                    - name: linkable | type: boolean | description: Can a page be linked through the link panel  
                    - name: duplicatable | type: boolean | description: Can a page be duplicated in the editor (if no essential widget is added in the container)  
                 - name: slug | type: string | description: slug of the page (last part of url that point to the page)  | validation: minLength 1, maxLength 200
           - name: multilingualTranslationSchema | type: MultilingualTranslationSchema | description: Multilingual translation schema Learn More: https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/translation-schema/schema-object.md  
              - name: referenceData | type: Schema | description:   
                 - name: id | type: string | description: Translation schema GUID. Auto generated when the schema is created. Read Only.  | validation: format GUID
                 - name: key | type: SchemaKey | description: Required. Unique key identifying the translation schema. Cannot be updated after creation.  
                    - name: appId | type: string | description: GUID of the app that created the schema. No need to provide it on creation — it's automatically set to your app's GUID, and any provided value is overridden.  | validation: format GUID
                    - name: entityType | type: string | description: Required. A unique name defined by the app developer to differentiate translation schemas for various entities within their app. For example, if an app developer is creating a translation schema for blog posts, the `entityType` can be `'blog-posts'`.  | validation: minLength 1, maxLength 80, immutable
                    - name: scope | type: SchemaScope | description: Scope of the translation schema. No need to provide it on creation — it's automatically set to `GLOBAL`, and any provided value is overridden.  | validation: immutable
                             - enum:
                             -     GLOBAL: Global schema for all sites.
                             -     SITE: Custom schema for a specific site.
                 - name: fields | type: Map<string,SchemaField> | description: Required. List of fields for the translation schema. This property uses a string to map to a `SchemaField` (`Map<string, SchemaField>`).  The string serves as a key, which you'll need to access each field in the schema and when adding translation content.  [See full structure of `SchemaField`](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/translation-schema/schema-object.md).  | validation: minItems 1, maxItems 1000, format map
                    - name: id | type: string | description: Field GUID. Validated according to Regex `^[A-Za-z0-9-_)(]+$`. Field GUIDs may contain parentheses to reference repeated items, such as images. These parentheses can't be nested and each opening parenthesis must be followed by a closing one. For example, `title()()` is valid, while `title)(` and `title(())` aren't valid. The value inside the parenthesis is validated according to Regex `^[^)(\\]\\[\\.]+$`.  | validation: minLength 1, maxLength 1000
                    - name: type | type: FieldType | description: Required. Field type.  
                             - enum:
                             -     SHORT_TEXT: Short plain text displayed as a single line in the UI.
                             -     LONG_TEXT: Long plain text displayed as multiple lines in the UI.
                             -     HTML: Long text including styles, images, and links.
                             -     RICH_CONTENT: Rich-Content using the Wix Ricos format.
                             -     IMAGE: Wix Media Manager image.
                             -     IMAGE_LINK: Image URL without metadata.
                             -     VIDEO: Wix Media Manager video.
                             -     DOCUMENT: Wix Media Manager document.
                    - name: displayName | type: string | description: Field name displayed in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager).  | validation: maxLength 1000
                    - name: groupName | type: string | description: Field group name.  | validation: maxLength 1000
                    - name: minLength | type: integer | description: Field minimum text length.  | validation: minimum 1, format int32
                    - name: maxLength | type: integer | description: Field maximum text length.  | validation: minimum 1, format int32
                    - name: format | type: string | description: Field format. Content is validated based on the format set here in the field schema. For example, if the format is `EMAIL`, then the content for this field must be a valid email address.  | validation: minLength 2, maxLength 20
                    - name: hidden | type: boolean | description: Whether the field is hidden from the site. Hidden fields are still validated.  
                    - name: displayOnly | type: boolean | description: Whether the field is read-only, and not intended to be translated. For example, an image. Use this field when you want an image to remain in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager) for context, but without being translated.  
                    - name: index | type: number | description: Field index. Use for cases where the order of the fields are relevant.  | validation: minimum 0, format double
                 - name: previewFields | type: PreviewFields | description: Fields displayed in content previews. For example, a product name for a product translation schema.  
                    - name: titleFieldId | type: string | description: GUID of the field representing the schema's title.  | validation: maxLength 1000
                    - name: imageFieldId | type: string | description: GUID of the field representing the schema's image.  | validation: maxLength 1000
                 - name: hidden | type: boolean | description: Whether the translation schema is hidden from the site.  Default: `false`  
                 - name: displayName | type: string | description: Translation schema name displayed in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager).  | validation: maxLength 100
                 - name: parentId | type: string | description: A reference to the parent schema. For example, if the schema is for a menu item, this property would contain the schema GUID of the menu it belongs to. Required when `require_parent_entity` is set to `true`.  | validation: format GUID
                 - name: revision | type: string | description: Revision number. Auto-generated on creation and incremented by 1 on each update. To prevent conflicting changes, the current revision must be passed when updating a schema. Read Only.  | validation: format int64
                 - name: createdDate | type: string | description: Date and time the translation schema was created. Auto-generated by the system. Read Only.  | validation: format date-time
                 - name: updatedDate | type: string | description: Date and time the translation schema was last updated. Auto-generated and updated by the system on every modification. Read Only.  | validation: format date-time
                 - name: duplicateContent | type: boolean | description: Whether to duplicate the translated content when a site containing the translation schema and content is duplicated.  Default: `false`  
                 - name: schemaGroupId | type: string | description: Indicate if this schema should be grouped under a custom group in the Translation Manager. For more info about this field check dev-center extension `Multilingual Schema Group`.  | validation: format GUID
                 - name: requireParentEntity | type: boolean | description: Whether content created or updated with this schema must include a `parent_entity_id`. When set to `true`, any Create Content or Update Content call targeting this schema will fail if `parent_entity_id` is missing or empty.  The schema itself must also have a `parent_id` defined, otherwise the schema Create or Update call will fail with `SchemaRequireParentEntityWithoutParentIdException`.  Default: `false`  
           - name: backOfficeModal | type: BackOfficeModal | description: Create a reusable modal that can be utilized across multiple pages within your app and in other applications.  
              - ONE-OF: 
                 - name: iframeUrl | type: string | description: Iframe URL that hosts the modal's content.  | validation: format WEB_URL
              - name: hostingPlatform | type: BackOfficeHostingPlatforms | description: Platform that hosts the modal.  Must be `"BUSINESS_MANAGER"`.  
                     - enum:
                     -     NO_HOSTING_PLATFORM: 
                     -     BUSINESS_MANAGER: Site Dashboard (The Wix Dashboard)
                     -     ACCOUNT_MANAGER: User Account Dashboard
                     -     DEV_CENTER: Internal: Dev center
                     -     ENTERPRISE: Enterprise dashboard (available to enterprise accounts only)
                     -     PARTNERS_DASHBOARD: Partners dashboard (available to partners accounts only)
                     -     FINANCIALS_INTERNAL_BO: Employee only financial support dashboard
                     -     FED_GUILD_POC: FED Guild POC dashboard
                     -     STUDIO_DASHBOARD: Studio dashboard
                     -     CHANNELS: Channels dashboard (available to channels accounts only)
                     -     DATA_TOOLS: Wix internal dashboard for data tools (proffesional data consumers, i.e Business Analysts, Data Engineers...)
                     -     PSP_BACKOFFICE: Internal back-office for payment service provider management
                     -     RISE_PLATFORM_ACCOUNT_DASHBOARD: Rise.ai account dashboard
                     -     DEMO_DASHBOARD_ENTERPRISE: Enterprise demo dashboard (available to possible enterprise accounts for demo purposes)
                     -     AI_SCHEDULING_ASSISTANT_DASHBOARD: A new AI scheduling assistant product dashboard (codename: "Nownia")
                     -     GETTING_PAID: Employee only getting paid cluster dashboard
                     -     DATA: Wix internal dashboard for data (non proffesional data consumers, i.e any Wix Employee that has a need for BI data)
                     -     LITE_DASHBOARD: Dashboard for viral forms/lite events/etc
                     -     PICASSO_EDITOR: Picasso AI application POC
                     -     BASE44_DASHBOARD_POC: Base44 Host Dashboard POC
                     -     WIXEL_EDITOR: Wixel Editor
                     -     BASE44_PLATFORM: Base44 Platform
                     -     PAYMENTS_BO: Payments by Wix Back Office
                     -     SYMPHONY: Symphony Giza host
                     -     BMR: BMR Giza host
              - name: title | type: string | description: Modal title.  | validation: minLength 1
              - name: width | type: integer | description: Initial width of the modal while loading, in pixels. Width may be adjusted dynamically based on the content of the modal or limited by the size of the modal's container.  | validation: minimum 0, maximum 9999, format int32
              - name: height | type: integer | description: Initial height of the modal while loading, in pixels. Height may be adjusted dynamically based on the content of the modal or limited by the size of the modal's container.  | validation: minimum 0, maximum 9999, format int32
              - name: metaData | type: ComponentMetaData | description: general component data  
              - name: iconKey | type: string | description: [Wix Design System icon](https://www.wix-pages.com/wix-design-system-employees/?path=/story/foundations-icons--icons). Use the full size key. The icon will be rendered in an appropriate size.  | validation: minLength 3, maxLength 50
           - name: customElementWidget | type: CustomElementWidget | description: Display a draggable widget on a site using a self-hosted custom element. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-widgets/about-site-widget-extensions.md  
              - name: base | type: BaseInfo | description: Base info of component by shared logic of unified components  
              - name: installation | type: WidgetInstallationSettings | description: Unified widget installation settings  
                 - ONE-OF: 
                    - name: staticContainer | type: StaticContainer | description: Which static container should the widget be installed at  
                             - enum:
                             -     UNKNOWN_CONTAINER: 
                             -     HOMEPAGE: Widget should be installed in the homepage
                             -     GLOBAL_PAGE: Show widget on all pages
                 - name: presets | type: DefaultPresets | description: Default presets per breakpoint with which the widget should be installed  
                    - name: small | type: string | description: Default preset GUID in small (mobile) breakpoint  | validation: minLength 1, maxLength 50
                    - name: default | type: string | description: Default preset GUID  | validation: minLength 1, maxLength 50
              - name: widgetData | type: WidgetData | description: The extension data for this component  
                 - name: scriptUrl | type: string | description: The script url that should render on the widget  | validation: format WEB_URL
                 - name: tagName | type: string | description: Unique tag name to use in order to connect your JS script to your web component  | validation: minLength 2, maxLength 64
                 - name: scriptType | type: CustomElementScriptType | description: Type of JavaScript modularization approach used in the custom element  
                         - enum:
                         -     NONE: 
                         -     COMMON_JS: CommonJS modularization approach
                         -     ES_MODULE: ES Module modularization approach
              - name: behaviors | type: EditorBehaviors | description: The widget's editor behaviors  
                 - name: settings | type: SettingsPanel | description: The settings behavior definition for the widget  
                    - name: settingsUrl | type: string | description: The settings panel URL for this component  | validation: format WEB_URL
                 - name: dashboard | type: Dashboard | description: The dashboard behavior definition for the widget  
                    - name: dashboardPageComponentId | type: string | description: The dashboard page guid for the widget manage of the widget  | validation: format GUID
              - name: size | type: WidgetSize | description: The size of the widget  
                 - name: height | type: Height | description: define the size of the widget's height  
                    - name: heightMode | type: HeightMode | description: Height calculation mode  
                             - enum:
                             -     UNKNOWN: 
                             -     AUTO: Height is calculated by content
                             -     FIXED: Height is fixed require size in px
                    - name: defaultHeight | type: integer | description: Default height in pixels  | validation: minimum 0, maximum 9999
                 - name: width | type: Width | description: define the size of the widget's width  
                    - name: allowStretch | type: boolean | description: Boolean to set stretch, will place the widget stretched to the full width of the container  
                    - name: defaultWidth | type: integer | description: Default width in pixels  | validation: minimum 0, maximum 9999
                    - name: stretchByDefault | type: boolean | description: Boolean to set stretch by default on installation, if true will place the widget stretched to the full width of the container  
              - name: dependencies | type: array<WixDependency> | description: The runtime dependencies array to declare the widget packages.  | validation: maxItems 50
              - name: presets | type: array<Preset> | description: The array of this widget's presets  | validation: maxItems 50
                 - name: id | type: string | description: The id of the preset  | validation: minLength 1, maxLength 50
                 - name: name | type: string | description: Display name of the preset  | validation: minLength 1, maxLength 30
                 - name: breakpoints | type: Breakpoints | description: Defines data for screen size for the preset  
                    - name: small | type: Breakpoint | description: Defines data for small screen size  
                       - name: size | type: WidgetSize | description: The size of the preset  
                       - name: presetId | type: string | description: A different preset id to be used according to breakpoint  | validation: maxLength 50
                    - name: medium | type: Breakpoint | description: Defines data for medium screen size  
                    - name: large | type: Breakpoint | description: Defines data for large screen size  
                 - name: thumbnailUrl | type: string | description: URL of an image to show as the preset's thumbnail in the editor  | validation: format WEB_URL
           - name: ecomInventory | type: InventorySpiConfig | description: Integrate any external inventory with the Wix eCommerce platform. Learn More: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/inventory-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI.  | validation: minLength 1, maxLength 200
           - name: multilingualTranslationSchemaGroup | type: SchemaGroup | description: Multilingual translation schema group  
              - name: id | type: string | description: SchemaGroup GUID. Field is read only.  | validation: format GUID
              - name: createdDate | type: string | description: Date and time the SchemaGroup was created. Field is read only.  | validation: format date-time
              - name: updatedDate | type: string | description: Date and time the SchemaGroup was last updated. Field is read only.  | validation: format date-time
              - name: name | type: string | description: Name of the SchemaGroup. Max symbol length is 100. Field is translatable.  | validation: maxLength 100
              - name: groupElements | type: array<SchemaGroupElement> | description: List of Schemas.  | validation: maxItems 50
                 - name: id | type: string | description: GUID of the Schema. If the schema group uses an element from another existing group, the reference id to that group has to be provided here.  | validation: format GUID
                 - name: position | type: integer | description: Position of the schema group element.  | validation: format int32
           - name: storesProductRestrictions | type: ProductRestrictionsConfig | description: Restriction service plugin for editing products managed by third-party fulfillment apps, such as dropshipping or print-on-demand services Learn More: https://dev.wix.com/docs/rest/business-solutions/stores/service-plugins/product-restrictions-v3/introduction.md  
              - name: deploymentUri | type: SpiBaseUri | description: URI where the SPI Implementer is deployed  
              - name: productRestrictionsConfig | type: RestrictionsConfig | description: Product restrictions configuration.  
                 - name: prices | type: Restriction | description: Prices restrictions.  Affected fields: * `variantsInfo.variants.price.actualPrice.amount` * `variantsInfo.variants.price.compareAtPrice.amount` * `inventory.trackingMethod.quantity`  
                    - name: restrictionLevel | type: RestrictionLevel | description: Restriction level.  
                             - enum:
                             -     WARNING: Users can edit the product field after acknowledging a warning modal.
                             -     LOCKED: Users **cannot** edit the product field.
                 - name: options | type: Restriction | description: Options restrictions.  Affected field: `options` (all nested fields except `linkedMedia`)  
                 - name: modifiers | type: Restriction | description: Modifier restrictions.  Affected field: `modifiers` (all nested fields except `linkedMedia`)  
                 - name: inventory | type: Restriction | description: Inventory restrictions.  Affected fields: * `variantsInfo.variants.sku` * `variantsInfo.variants.barcode` * `inventory.trackingMethod.quantity`  
                 - name: preOrder | type: Restriction | description: Pre order restrictions.  Affected field: `inventory.preorderInfo`  
                 - name: duplicateProduct | type: Restriction | description: Whether to disallow product duplication or display a warning when duplicating a product.  
           - name: staffSortingProvider | type: StaffSortingProviderConfig | description: Bookings Staff Sorting Provider SPI  
              - name: deploymentUri | type: SpiBaseUri | description: URI where the SPI Implementer is deployed  
              - name: methodName | type: string | description: User-friendly name for the sorting method  | validation: maxLength 100
              - name: methodDescription | type: string | description: User-friendly explanation about the sorting method.  | validation: maxLength 100
              - name: dashboardPluginId | type: string | description: Optional. An unique identifier for a component that will create a configuration for the method.  | validation: format GUID
           - name: realtimePermissionsProvider | type: RealtimePermissionsProviderConfig | description: Realtime Permissions Provider SPI - integrate with Wix to control who can receive messages on your Wix Realtime channels, by providing a custom permissions check that authorizes whether a subscriber is allowed to subscribe to your app's channels. Learn More: https://dev.wix.com/docs/sdk/core-modules/realtime/extensions/realtime-permissions-provider/check-subscriber-permissions.md  
              - name: deploymentUri | type: SpiBaseUri | description: The URI where the SPI Implementer is deployed  
              - name: providerName | type: string | description: A user-friendly name of the permissions provider  | validation: maxLength 100


```

### Examples

### Get component types display data
Retrieves display metadata for the available component types.

```curl
curl -X GET \
'https://www.wixapis.com/apps/v1/components/v1/components-catalog' \
-H 'Authorization: <AUTH>'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.appComponents.componentsCatalog.getComponentTypesDisplayData()
 Description: Retrieves display metadata for the available component types.
 Return type: PROMISE<GetComponentTypesDisplayDataResponse>
  - name: componentTypesDisplayData | type: array<ComponentTypeDisplayData> | description: Display metadata for the available component types.  
     - name: type | type: string | description: Component type.  | validation: maxLength 128
     - name: displayName | type: string | description: Component type display name.  | validation: maxLength 64
     - name: labels | type: array<string> | description: Labels shown for components of this type.  | validation: maxItems 32, maxLength 64
     - name: attributes | type: Attributes | description: Rules enforced for components of this type, such as singular, non-updatable, and non-deletable behavior.  
        - name: singular | type: boolean | description: Whether only one component of this type can exist per app.  
        - name: nonDeletable | type: boolean | description: Whether components of this type can't be deleted.  
        - name: nonUpdatable | type: boolean | description: Whether components of this type can't be updated.  
     - name: description | type: string | description: Component type description shown in the App Dashboard.  | validation: maxLength 512
     - name: exposure | type: Exposure | description: Exposure level of the component type.  
         - enum:
         -     PRIVATE: Unexposed. to be used by dev team only
         -     INTERNAL: Exposed internally
         -     PUBLIC: Exposed to the world
     - name: learnMoreLink | type: string | description: Link to learn more about the component type.  | validation: format WEB_URL
     - name: requiresApproval | type: boolean | description: Whether components of this type require approval before release.  
     - name: exampleComponentData | type: ComponentData | description: Example component data for this component type.  
        - ONE-OF: 
           - name: widgetComponentData | type: WidgetComponentData | description: Create a widget iframe that users can display on their site. We recommend submitting a proposal before using iframes in your app. Learn More: https://devforum.wix.com/en/article/widget-components  
              - name: fixedPositionOption | type: FixedPositionOptions | description: Allow users to resize and move the widget, or pin it to a specific position on all pages of the site.  
                 - name: widgetVertical | type: WidgetVertical | description: Vertical widget position in the browser window  
                         - enum: NONE_VERTICAL, TOP, CENTER_VERTICAL, BOTTOM
                 - name: widgetHorizontal | type: WidgetHorizontal | description: Horizontal widget position in the browser window  
                         - enum: NONE_HORIZONTAL, LEFT, CENTER_HORIZONTAL, RIGHT
              - name: widgetWidthType | type: WidgetWidthType | description: Widget will automatically be stretched to this width after installing it  
                     - enum:
                     -     NONE_TYPE: 
                     -     CUSTOM: A custom width for the widget
                     -     FULL: Full width of the browser window
              - name: width | type: integer | description: Widget width size  | validation: minimum 0, maximum 9999, format int32
              - name: height | type: integer | description: Widget width height  | validation: minimum 0, maximum 9999, format int32
              - name: widgetEndpointUrl | type: string | description: A public link to the widget endpoint  | validation: format WEB_URL
              - name: widgetMobileEndpointUrl | type: string | description: A public link to the mobile endpoint  
              - name: settingsEndpointUrl | type: string | description: A public link to the settings endpoint  
              - name: seoEndpointUrl | type: string | description: A public link to the SEO endpoint  
              - name: widgetDisplay | type: WidgetDisplay | description: Product display data for this component  
                 - name: name | type: string | description:   
                 - name: shortDescription | type: string | description: short description about the widget  | validation: maxLength 300
                 - name: images | type: array<string> | description: images showing off how the widget looks  
                 - name: order | type: integer | description: optional, if no order exist for all components, will be decided by order in array (non-deterministic)  | validation: format int32
                 - name: price | type: number | description:   
                 - name: variationId | type: string | description:   
              - name: default | type: boolean | description: When true, this is the default component  
              - name: essential | type: boolean | description: When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not  
              - name: published | type: boolean | description: Published state for this widget  
              - name: addOnlyOnce | type: boolean | description: When true, allow this widget to be added only once  
              - name: tpaWidgetId | type: string | description: This GUID is used to identify your widget endpoint in a Wix site. You can use this GUID when using methods of the Wix SDK  
              - name: position | type: Position | description: Where this should be rendered  
                 - name: region | type: Region | description:   
                         - enum: no_region, header, pageContainer, footer
              - name: helpId | type: string | description: Article id in settings panel  
              - name: defaultMobileHeight | type: integer | description: Default Mobile Height  | validation: format int32
              - name: minMobileHeight | type: integer | description: Min Mobile Height  | validation: format int32
              - name: mobileSettingsEnabled | type: boolean | description: Mobile Settings Enabled  
              - name: mobileHelpId | type: string | description: Mobile article id in settings panel  
              - name: settingsVersion | type: integer | description: Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2  | validation: minimum 1, maximum 2, format int32
              - name: settingsEndpointUrlV1 | type: string | description: If setting version is 1, this will be the public link to the settings endpoint  
              - name: onBoardingSettingsEndpointUrl | type: string | description: A public link to the settings endpoint on ADI editor  
              - name: subPages | type: array<SubPage> | description: The sub pages list for this component to be rendered in  
                 - name: key | type: string | description: The path of the subpage  
                 - name: enumerable | type: boolean | description: If it's sub entities are enumerable for querying (for example, a search endpoint is not enumerable)  
                 - name: hideFromFloatingNavBar | type: boolean | description: Should hide inner routes of this sub page from floating dynamic pages navigation bar  
                 - name: hideFromLinkPanel | type: boolean | description: Should hide this sub page from selections in link panel  
              - name: isStretched | type: IsStretched | description: If this component should be stretched in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: boolean | description:   
                 - name: tablet | type: boolean | description:   
                 - name: mobile | type: boolean | description:   
              - name: margins | type: Margins | description: Any margins this page should have in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DisplayProperties | description:   
                    - name: top | type: DisplayValue | description:   
                       - name: type | type: UnitType | description:   
                                 - enum: NO_UNIT, AUTO, PX, VH, VW, PERCENTAGE
                       - name: value | type: integer | description:   | validation: format int32
                    - name: right | type: DisplayValue | description:   
                    - name: bottom | type: DisplayValue | description:   
                    - name: left | type: DisplayValue | description:   
                 - name: tablet | type: DisplayProperties | description:   
                 - name: mobile | type: DisplayProperties | description:   
              - name: docking | type: Docking | description: Any docking this page (horizontal / vertical) should have in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DockingProperties | description:   
                    - name: horizontal | type: HorizontalDocking | description:   
                             - enum: NO_HDOCKING, LEFT_DOCKING, HCENTER, RIGHT_DOCKING
                    - name: vertical | type: VerticalDocking | description:   
                             - enum: NO_VDOCKING, TOP_DOCKING, VCENTER, BOTTOM_DOCKING
                 - name: tablet | type: DockingProperties | description:   
                 - name: mobile | type: DockingProperties | description:   
              - name: heightBreakPoints | type: Height | description: The height of this page in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DisplayValue | description:   
                 - name: tablet | type: DisplayValue | description:   
                 - name: mobile | type: DisplayValue | description:   
              - name: widthBreakPoints | type: Width | description: The width of this page in relation to a form factor (desktop, tablet, mobile)  
                 - name: desktop | type: DisplayValue | description:   
                 - name: tablet | type: DisplayValue | description:   
                 - name: mobile | type: DisplayValue | description:   
              - name: addStretchButton | type: boolean | description: Keep default and let users stretch widget to full width (GFPP)  
              - name: excludeFromAutoRevoke | type: boolean | description: toggle to mark whether the editor should revoke an app that contains this component.  
              - name: settingsEndpointUrlTemplate | type: string | description: should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget**  
              - name: settingsEndpointUrlV1Template | type: string | description: should be <%=serviceUrl('your_artifact_id', '<resource-path>')%>, this field will later be used to trasform the settings url field in both the component and the **derived widget**  
              - name: addToHomePage | type: boolean | description: Add widget to site home page (supported only in server installation currently)  
           - name: pageComponentData | type: PageComponentData | description: Display an iframe as a page on a user's site. Learn More: https://dev.wix.com/docs/build-apps/developer-tools/extensions/iframes/guide-to-page-extensions.md  
              - name: isHidden | type: boolean | description: Hide this page from the user’s site menu  
              - name: showInPanel | type: boolean | description: Show in pages menu  
              - name: isFullWidth | type: boolean | description: Set page to full width  
              - name: addStrechButton | type: boolean | description: Keep default and let users stretch page to full width (GFPP)  
              - name: pageEndpointUrl | type: string | description: A public link to the page endpoint  | validation: format WEB_URL
              - name: pageMobileEndpointUrl | type: string | description: A public link to the mobile endpoint  
              - name: settingsEndpointUrl | type: string | description: A public link to the settings endpoint  
              - name: seoEndpointUrl | type: string | description: A public link to the SEO endpoint  
              - name: default | type: boolean | description: When true, this is the default component Main visual component. One components must be default (no more than 1 component)  
              - name: essential | type: boolean | description: Second visual component When this is turned on, this page will be added to the site when installing the app, regardless of whether it's the default component or not  
              - name: published | type: boolean | description: Published state for this page  
              - name: tpaWidgetId | type: string | description: This GUID is used to identify your page endpoint in a Wix site. You can use this GUID when using methods of the Wix SDK  
              - name: helpId | type: string | description: Article id in settings panel  
              - name: defaultMobileHeight | type: integer | description: Default Mobile Height  | validation: format int32
              - name: minMobileHeight | type: integer | description: Min Mobile Height  | validation: format int32
              - name: mobileSettingsEnabled | type: boolean | description: Mobile Settings Enabled  
              - name: mobileHelpId | type: string | description: Mobile article id in settings panel  
              - name: settingsVersion | type: integer | description: Editor setting version. optional values: 1 (old - deprecated) or 2 (new). default value is 2  | validation: minimum 1, maximum 2, format int32
              - name: settingsEndpointUrlV1 | type: string | description: If setting version is 1, this will be the public link to the settings endpoint  
              - name: onBoardingSettingsEndpointUrl | type: string | description: A public link to the settings endpoint on ADI editor  
              - name: padding | type: Padding | description: The padding to use in different views  
                 - name: desktop | type: DisplayProperties | description:   
                 - name: tablet | type: DisplayProperties | description:   
                 - name: mobile | type: DisplayProperties | description:   
              - name: subPages | type: array<SubPage> | description: The sub pages list for this component to be rendered in  
              - name: excludeFromAutoRevoke | type: boolean | description: toggle to mark whether the editor should revoke an app that contains this component.  
              - name: pageReplaceOptions | type: PageReplaceOptions | description: Options to mark whether this page is replacing other page or is replaced by other page.  
                 - ONE-OF: 
                    - name: replacingOptions | type: ReplacingOptions | description:   
                       - name: pageReplace | type: PageReplace | description: describe the page and application id that this page will replace.  
                          - name: appId | type: string | description: The app id of the page the app can replace  | validation: format GUID
                          - name: pageId | type: string | description: The page id the app can replace  | validation: format GUID
                    - name: replaceableOptions | type: ReplaceableOptions | description:   
                       - name: isReplaceable | type: boolean | description: toggle to mark whether this page can be replaced by other page or app.  
                 - name: type | type: ReplacementType | description:   
                         - enum: UNKNOWN_REPLACEMENT, REPLACING, REPLACEABLE
              - name: linkable | type: boolean | description: Elements in the editor can be linked to this page (a button for example)  
              - name: addToSiteMenu | type: boolean | description: Should add the page to site menu. defaults to true (will add the page to site menu)  
              - name: multiInstanceEnabled | type: boolean | description: Should allow multiple instances of the page (allow duplicate the page). defaults to false (will not allow multiple instances of the page)  
              - name: shortDescription | type: string | description: short description about the page  | validation: maxLength 300
              - name: fullPageDesktopOnly | type: boolean | description: When true, this page is displayed as full page on desktop only  
              - name: landingPageInMobile | type: boolean | description: When true, this page is used as a landing page on mobile  
           - name: dashboardComponentData | type: DashboardComponentData | description: Open an iframe in the Dashboard, or add a link to a page on your platform. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/external-links/about-external-link-extensions.md  
              - name: url | type: string | description: The dashboard url.  | validation: format WEB_URL
              - name: embedded | type: boolean | description: External or Internal dashboard. The user’s Wix Dashboard (recommended) or your platform or site  
              - name: settingsPageUrl | type: string | description: A settings page for users to customize your dashboard  | validation: maxLength 300
              - name: checkStatusUrl | type: string | description:   | validation: maxLength 300
              - name: published | type: boolean | description:   
              - name: hideWixSideMenu | type: boolean | description:   
           - name: workerComponentData | type: WorkerComponentData | description: Use an invisible iframe to track activity. It’s added to every page on the site (max. 1). Learn More: https://devforum.wix.com/en/article/worker-components  
              - name: workerEndpointUrl | type: string | description: A public link to the worker endpoint  | validation: format WEB_URL
           - name: embeddedScriptComponentData | type: EmbeddedScriptComponentData | description: Inject a script into a site’s HTML code. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/embedded-scripts/about-embedded-scripts.md  
              - name: template | type: string | description: The script  
              - name: name | type: string | description: A name that’s unique to this component. Names can include letters and the hyphen (-) character only  
              - name: pages | type: EmbeddedScriptPages | description: What category of pages this will be embedded on (single, many, none)  
                     - enum:
                     -     NONE_PAGES: It will not be embedded
                     -     ONCE: It will be embedded once
                     -     SPECIFIC_PAGES: It will be embedded multiple times on specific pages
              - name: placement | type: EmbeddedScriptPlacement | description: Where in the HTML this should be embedded  
                     - enum:
                     -     NONE_PLACEMENT: It will not be rendered
                     -     HEAD: In the document head
                     -     BODY_START: Prepended before all children already rendered in the body tag
                     -     BODY_END: Appended after the last child already rendered in the body tag
              - name: connectArticleUrl | type: string | description: An article explaining how to activate the script  
              - name: embedCategory | type: EmbedCategory | description: Type of script you are injecting. This will be used for GDPR and cookie consent purposes  
                     - enum:
                     -     UNKNOWN: Not categorized yet
                     -     ESSENTIAL: Must load regardless of policy
                     -     FUNCTIONAL: Adds optional functionality to the site
                     -     ANALYTICS: Adds analytics abilities to the site
                     -     ADVERTISING: Adds advertising content or advertising tracking to the site
              - name: loadOnce | type: boolean | description: if the script should be loaded once - default and only supported value is true  
              - name: allowedForFreeSite | type: boolean | description: allow developers to decide if their app script can be install on free sites  
              - name: dependencies | type: array<WixDependency> | description: The runtime dependencies array to declare the widget packages.  | validation: maxItems 50
                 - name: packageName | type: string | description: The fully qualified package name from npm, example: @wix/frontend-location  | validation: minLength 2, maxLength 100
                 - name: version | type: integer | description: The major version of the package (this may be a detail included in the package name, but is conventional in NPM with semver semantics  
           - name: dataComponent | type: DataComponent | description: Extend a site’s CMS to store and manage custom data. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/data-collections/about-data-collections-extensions.md  
              - name: collections | type: array<Collection> | description: Data collections automatically added to a site when the app is installed.  | validation: maxItems 100
                 - name: idSuffix | type: string | description: Required. Collection GUID suffix. The app namespace is automatically prepended in the CMS. For example, the full GUID for `my-products-1` becomes `@company/app-name/my-products-1`.  | validation: maxLength 256
                 - name: displayName | type: string | description: Collection's display name as shown in the CMS. For example, `My First Collection`.  | validation: minLength 1, maxLength 1000
                 - name: displayField | type: string | description: Field whose value the CMS displays to represent the collection item when referenced in a different collection.  | validation: minLength 1, maxLength 1000
                 - name: fields | type: array<Field> | description: Required. Collection's field structure.  | validation: minItems 1, maxItems 1000
                    - ONE-OF: 
                       - name: referenceOptions | type: ReferenceOptions | description: Metadata for a reference field.  
                          - name: referencedCollectionId | type: string | description: Referenced collection GUID.  | validation: minLength 1, maxLength 256
                       - name: multiReferenceOptions | type: MultiReferenceOptions | description: Metadata for a multi-reference field.  
                          - name: referencedCollectionId | type: string | description: Referenced collection GUID.  | validation: minLength 1, maxLength 256
                       - name: objectOptions | type: ObjectOptions | description: Metadata for an object field.  
                          - name: fields | type: array<ObjectField> | description: Fields within the object.  | validation: maxItems 1000
                             - ONE-OF: 
                                - name: objectOptions | type: ObjectOptions | description: Metadata for an object field.  
                                - name: arrayOptions | type: ArrayOptions | description: Metadata for an array field.  
                                   - ONE-OF: 
                                      - name: objectOptions | type: ObjectOptions | description: Metadata for an object field.  
                                      - name: arrayOptions | type: ArrayOptions | description: Metadata for an array field.  
                                   - name: elementType | type: Type | description: Element's data type.  
                                                 - enum:
                                                 -     TEXT: Plain-text string.
                                                 -     NUMBER: Number.
                                                 -     DATE: Date string in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format: `YYYY-MM-DD`.
                                                 -     DATETIME: [JavaScript Date object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) (SDK) or an object in the following format: `"someFieldKey": { "$date": "YYYY-MM-DDTHH:mm:ss.sssZ"}`.
                                                 -     IMAGE: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     BOOLEAN: Boolean `true` or `false` value.
                                                 -     DOCUMENT: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     URL: URL in one of the following formats: `http://`, `https://`, `ftp://`, `mailto:`, `sms:`, `tel:`.
                                                 -     RICH_TEXT: [Rich-text](https://dev.wix.com/docs/rest/articles/getting-started/rich-text.md) string that may contain a subset of HTML tags.
                                                 -     VIDEO: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     ANY: Any field type.
                                                 -     ARRAY_STRING: Array of strings.
                                                 -     ARRAY_DOCUMENT: Array of documents: web or [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URLs.
                                                 -     AUDIO: Web URL or a [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URL.
                                                 -     TIME: Time string in `hh:mm:ss.SSS` format.
                                                 -     LANGUAGE: Language codes in [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) format. These may include country codes in [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#officially_assigned_code_elements) format.
                                                 -     RICH_CONTENT: [Rich content](https://dev.wix.com/docs/ricos/getting-started/introduction.md).
                                                 -     MEDIA_GALLERY: Array of web or [Media Manager](https://dev.wix.com/docs/rest/assets/media/media-manager/introduction.md) URLs.
                                                 -     ADDRESS: Physical [address object](https://dev.wix.com/docs/api-reference/business-solutions/cms/data-types-in-wix-data.md#address-object).
                                                 -     REFERENCE: Reference to another item in another collection. See [Query Referenced Data Items](https://dev.wix.com/docs/api-reference/business-solutions/cms/data-items/query-referenced-data-items.md) to learn about item references.  If you select this type, then you must pass the `referencedCollectionId` field as well.
                                                 -     MULTI_REFERENCE: References to multiple items in another collection. See [Query Referenced Data Items](https://dev.wix.com/docs/api-reference/business-solutions/cms/data-items/query-referenced-data-items.md) to learn about item references.
                                                 -     OBJECT: JSON object.
                                                 -     ARRAY: Array.
                             - name: key | type: string | description: Field GUID.  | validation: minLength 1, maxLength 1000
                             - name: displayName | type: string | description: Display name for the field.  | validation: minLength 1, maxLength 1000
                             - name: type | type: Type | description: Field type.  Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data.md).  
                       - name: arrayOptions | type: ArrayOptions | description: Metadata for an array field.  
                    - name: key | type: string | description: Required. Unique identifier for the field. For example, `firstName`.  | validation: minLength 1, maxLength 1000
                    - name: displayName | type: string | description: Field's display name when displayed in the CMS. For example, `First Name`.  | validation: minLength 1, maxLength 1000
                    - name: type | type: Type | description: Required. Field's data type.  Learn more about [data types in Wix Data](https://dev.wix.com/docs/rest/business-solutions/cms/data-types-in-wix-data.md).  
                    - name: encrypted | type: boolean | description: Whether the field is encrypted.  
                    - name: description | type: string | description: Field description.  | validation: maxLength 16000
                 - name: dataPermissions | type: DataPermissions | description: Required. Levels of permission for accessing and modifying data, defined by the lowest role needed to perform each action.  
                    - name: itemRead | type: AccessLevel | description: Required. Access level required to read data items.  
                             - enum:
                             -     ANYONE: Anyone, including site visitors.
                             -     SITE_MEMBER: Any signed-in user, including site members and collaborators.
                             -     SITE_MEMBER_AUTHOR: Any signed-in user, but site members only have access to their own items.
                             -     CMS_EDITOR: Site collaborator that has a role with CMS access permission.
                             -     PRIVILEGED: CMS administrators and users or roles granted special access.
                    - name: itemInsert | type: AccessLevel | description: Required. Access level required to insert data items.  
                    - name: itemUpdate | type: AccessLevel | description: Required. Access level required to update data items.  
                    - name: itemRemove | type: AccessLevel | description: Required. Access level required to remove data items.  
                 - name: indexes | type: array<Index> | description: Indexes defined for the collection. An index is a map of a collection's data, organized according to specific fields to increase query speed.  | validation: maxItems 3
                    - name: fields | type: array<Field> | description: Fields for which the index is defined.  Max: 3 fields (for a unique index: 1 field)  | validation: minItems 1, maxItems 3
                       - name: path | type: string | description: Path of the field to index. For example: `title` or `options.price`.  | validation: minLength 1, maxLength 128
                       - name: order | type: Order | description: Sort order for the index. Base on how the data is regularly queried.  Default: `ASC`  
                                 - enum: ASC, DESC
                    - name: unique | type: boolean | description: Whether the index enforces uniqueness of values in the field for which it is defined. If `true`, the index can have only one field.  Default: `false`  
                 - name: initialData | type: array | description: Optional initial data to populate the collection with.  | validation: maxItems 1000
           - name: widgetPlugin | type: WidgetPluginComponentData | description: Display a widget that fits into a predefined slot in a Wix app. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-plugins/about-site-plugin-extensions.md  
              - name: referenceComponentId | type: string | description: GUID of the widget used for the plugin component.  | validation: format GUID
              - name: pluginInterfaces | type: array<PluginInterface> | description: APIs implemented by the Plugin's widget.  
                     - enum:
                     -     NONE_INTERFACE: No public APIs exposed
                     -     REVIEWS: The slot requires the REVIEWS interface to be implemented by the plugin. The plugin specifies the implementation of the REVIEWS interface
                     -     RATINGS_SUMMARY: The slot requires the RATINGS_SUMMARY interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY interface
                     -     RATINGS_SUMMARY_OOI_LIST: The slot requires the RATINGS_SUMMARY_OOI_LIST interface to be implemented by the plugin. The plugin specifies the implementation of the RATINGS_SUMMARY_OOI_LIST interface
                     -     BOOKINGS_SERVICE: The slot requires the BOOKINGS_SERVICE interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_SERVICE interface
                     -     BOOKINGS_FORM: The slot requires the BOOKINGS_FORM interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_FORM interface
                     -     BASE: The slot requires the BASE interface to be implemented by the plugin. The plugin specifies the implementation of the BASE interface
                     -     EVENT: The slot requires the EVENT interface to be implemented by the plugin. The plugin specifies the implementation of the EVENT interface
                     -     PRODUCT: The slot requires the PRODUCT interface to be implemented by the plugin. The plugin specifies the implementation of the PRODUCT interface
                     -     CHECKOUT: The slot requires the CHECKOUT interface to be implemented by the plugin. The plugin specifies the implementation of the CHECKOUT interface
                     -     CATEGORY: The slot requires the CATEGORY interface to be implemented by the plugin. The plugin specifies the implementation of the CATEGORY interface
                     -     BOOKINGS_CALENDAR: The slot requires the BOOKINGS_CALENDAR interface to be implemented by the plugin. The plugin specifies the implementation of the BOOKINGS_CALENDAR interface
                     -     CART: The slot requires the CART interface to be implemented by the plugin. The plugin specifies the implementation of the CART interface
              - name: marketData | type: PluginMarketData | description: Marketing information about the plugin.  
                 - name: name | type: string | description: Plugin name.  | validation: minLength 1, maxLength 50
                 - name: description | type: string | description: Plugin description.  | validation: maxLength 130
                 - name: logoUrl | type: string | description: Plugin logo. 35x35px in JPG or PNG format.  | validation: format WEB_URL
              - name: placements | type: array<PluginPlacement> | description: List of placements where the plugin is allowed to be installed.  
                 - name: appDefinitionId | type: string | description: Slot app definition GUID.  | validation: format GUID
                 - name: widgetId | type: string | description: Slot app component GUID.  | validation: format GUID
                 - name: slotId | type: string | description: Slot GUID.  | validation: minLength 1
              - name: installation | type: PluginInstallationSettings | description: Widget plugin installation settings.  
                 - name: base | type: BaseInstallation | description: Shared installation settings for unified components  
                    - name: autoAdd | type: boolean | description: Auto add component to stage  
                    - name: essential | type: boolean | description: Mark component as essential for the existence of the app (force to delete the whole app)  
                    - name: maxInstances | type: integer | description: Max instances of the component that can be on site  | validation: minimum 0, format int32
           - name: ecomShippingRates | type: ShippingRatesConfig | description: Provide custom shipping rates to a site's cart and checkout. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/shipping-rates-integration-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI. For example, to call the Get Shipping Rates endpoint at `https://my-shipping-provider.com/v1/getRates`, the base URI you provide here is `https://my-shipping-provider.com/`.  | validation: minLength 1
              - name: name | type: string | description: Human-readable name of the shipping provider.  | validation: minLength 1, maxLength 64
              - name: description | type: string | description: Description of the shipping provider.  | validation: maxLength 200
              - name: learnMoreUrl | type: string | description: URL to more info about the shipping provider.  | validation: maxLength 200
              - name: dashboardUrl | type: string | description: URL to reach the shipping provider app's dashboard.  | validation: minLength 1, maxLength 2048, format WEB_URL
              - name: fallbackDefinitionMandatory | type: boolean | description: Whether to require the site owner to define a fallback/default rate. Set to `true` if you do not provide rates as part of the integration.  
              - name: thumbnailUrl | type: string | description: Thumbnail image of the shipping rates provider. Displayed in the shipping settings section in the Dashboard. The URL must be of an image uploaded to the [Wix Media Manager](https://support.wix.com/en/article/wix-media-uploading-media-to-the-media-manager).  | validation: format WEB_URL
           - name: dataExtensions | type: DataExtensionsComponentData | description: Extend a Wix entity with custom fields for your app  
              - name: fqdn | type: string | description: FQDN of the entity that the application extends  
              - name: schema | type: object | description: Schema of the extended fields in JSON Schema compatible format  
              - name: extensionPoint | type: string | description: Extension point for this schema. empty string or "ROOT" means regular top level schema  | validation: maxLength 20
           - name: ecomCatalog | type: CatalogSPIConfig | description: Become a Wix catalog provider and integrate any external repository of sellable items with the Wix eCommerce platform. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/catalog-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI which Wix eCommerce will call to access Catalog service plugin endpoints. For example, to call the Get Catalog Items endpoint at `https://my-external-catalog.com/get-catalog-items`, the base URI you provide here is `https://my-external-catalog.com`.  
              - name: allItemsDiscount | type: DiscountConfig | description: Configuration details for discounts applied to all items in the catalog.  
                 - name: enabled | type: boolean | description: Whether the discount is enabled.  Default: `false`.  
                 - name: translationKey | type: string | description: Translation key for text to display to the site owner.  | validation: minLength 5, maxLength 100
              - name: specificItemsDiscount | type: DiscountConfig | description: Configuration details for discounts applied to specific items in the catalog.  
           - name: giftCardsProvider | type: GiftCardProviderConfig | description: Implement gift card benefits such as balance retrieval, redemption, and voiding transactions. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/gift-cards-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: The URL of the SPI implementation  
           - name: seoKeywordsSuggestions | type: SeoKeywordsSuggestionsSPIConfig | description: Provide SEO keyword suggestions to site collaborators, report quota usage, and provide a page where users can upgrade their plan. Learn More: https://dev.wix.com/docs/rest/api-reference/marketing/seo-keywords-suggestions-v-1/introduction.md  
              - name: baseUri | type: string | description: Base URL of your SEO implementation. Wix sends API requests to endpoints implemented using this URL.  | validation: minLength 1
              - name: upgradeUrl | type: string | description: URL of the page where users can purchase a paid plan. Wix offers a link to this page when you respond with a value of `false` in quota's `paidPlan` property.  | validation: format WEB_URL
              - name: supportedCountryCodes | type: array<string> | description: List of countries you support for SEO analysis. 2-letter country code in [ISO-3166 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements) format.  | validation: minItems 1, maxItems 250, format COUNTRY
              - name: quotaEnabled | type: boolean | description: Whether there is a quota limit in the service. When `true`, the response includes the quota object.  
              - name: landingPageUrl | type: string | description: Your website's landing page.  | validation: format WEB_URL
           - name: backOfficePage | type: BackOfficePage | description: Configure a page for your app that will be embedded in the Wix Dashboard. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/dashboard-extensions/dashboard-pages/about-dashboard-page-extensions.md  
              - ONE-OF: 
                 - name: iframeUrl | type: string | description:   | validation: format WEB_URL
              - name: routePath | type: string | description: The route of the page, must be a valid URL path, relative to the app namespace or app id  
              - name: previousRoutePaths | type: array<string> | description: Routes that redirect to this page, these paths should include the original path including the namespace or app id  
              - name: title | type: string | description: Page title, also used as sidebar entry label  | validation: minLength 1
              - name: fullPage | type: boolean | description: False by default, if true, sidebar will be hidden when loading the page  
              - name: pageCategoryId | type: string | description: Optional: category this page belongs to  | validation: format GUID
              - name: hideInSidebar | type: boolean | description: Should the page be shown or hidden in the sidebar, by default a link to the page will be shown  
              - name: priority | type: integer | description: Sidebar order within the category and app, lower priority means the page is earlier, by default priority is 0, meaning newer pages will appear first  
              - name: activeSidebarPageId | type: string | description: Which page is active in sidebar when this page is loaded  | validation: format GUID
              - name: metaData | type: ComponentMetaData | description: general component data  
                 - name: title | type: string | description:   | validation: minLength 1, maxLength 200
                 - name: description | type: string | description:   | validation: minLength 1, maxLength 200
                 - name: keywords | type: array<Keywords> | description: Searchable keywords  | validation: maxItems 100
                    - name: _id | type: string | description: Keyword GUID  
                    - name: value | type: string | description:   | validation: minLength 1, maxLength 200
                 - name: searchable | type: boolean | description: Is searchable  
                 - name: aiContext | type: AiContext | description:   
                    - name: description | type: string | description:   | validation: minLength 20, maxLength 10000
              - name: iconKey | type: string | description: [Wix Design System icon](https://www.wix-pages.com/wix-design-system-employees/?path=/story/foundations-icons--icons). Use the full size key. The icon will be rendered in an appropriate size.  | validation: minLength 3, maxLength 50
              - name: pageAnchors | type: array<PageAnchor> | description: Anchors for direct navigation to specific sections of the page  | validation: maxItems 50
                 - name: relativeUrl | type: string | description: A URL path relative to the page route for direct navigation to a specific section  | validation: minLength 1, maxLength 100
                 - name: iconKey | type: string | description: [Wix Design System icon](https://www.wix-pages.com/wix-design-system-employees/?path=/story/foundations-icons--icons). Use the full size key. The icon will be rendered in an appropriate size.  | validation: minLength 3, maxLength 50
                 - name: metaData | type: AnchorMetaData | description: metadata for the page anchor  
                    - name: title | type: string | description:   | validation: minLength 1, maxLength 200
                    - name: description | type: string | description:   | validation: minLength 1, maxLength 200
                    - name: keywords | type: array<Keywords> | description: anchor keywords  | validation: maxItems 100
                 - name: _id | type: string | description: anchor GUID  | validation: maxLength 50
              - name: layoutMode | type: LayoutMode | description: Determines how the page layout is rendered. Allowed values: "standard_view", "builder_view", "expanded_view", default: "standard_view".  
                     - enum: STANDARD_VIEW, BUILDER_VIEW, EXPANDED_VIEW
              - name: mobileCompatible | type: boolean | description: whether the page supports mobile devices, default is false, meaning the page is redirected to native app  
           - name: ecomAdditionalFees | type: AdditionalFeesSPIConfig | description: Provide custom additional fees that are added to a site's cart and checkout. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/additional-fees-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI. For example, to call the Calculate Additional Fees endpoint at `https://my-additional-fees.com/v1/calculateAdditionalFees`, the base URI you provide here is `https://my-additional-fees.com/`.  
           - name: bookingsPricingProvider | type: BookingsPricingProviderConfig | description: Bookings Pricing Provider SPI  
              - name: deploymentUri | type: string | description: URI where the SPI Implementer is deployed  
              - name: pricingProviderName | type: string | description: User-friendly name of the pricing provider  
           - name: premiumCustomCharges | type: CustomChargesConfig | description: Apply custom charges to a site based on usage of your app's services. Learn More: https://dev.wix.com/docs/rest/api-reference/app-management/apps/custom-charges-spi/introduction.md  
              - name: baseUri | type: SpiBaseUri | description: Base URI where the endpoints are called. Wix appends the endpoint path to the base URI.  For example, to call the Premium Custom Charges endpoint at `https://custom-charges.com/v1/premium-custom-charges`, the base URI you provide here is `https://custom-charges.com/`.  
                 - name: baseUri | type: string | description: Base URI for your service plugin. Wix appends each method's path to this URI.  For example, to receive requests at `https://my-app.com/v1/my-method`, set this field to `https://my-app.com/`.  | validation: minLength 6, maxLength 2048
                 - name: alternativeUris | type: array<AlternativeUri> | description: Alternative URIs for specific methods. Use these to override the default URI for individual methods.  
                    - name: methodName | type: string | description: Name of the method to call at the absolute URI, in PascalCase. For example, to call [Get Shipping Rates](https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/extensions/shipping-rates/shipping-rates-integration-service-plugin/get-shipping-rates.md) on an alternative URI, specify `GetShippingRates`.  | validation: minLength 3, maxLength 128
                    - name: absoluteUri | type: string | description: Absolute URI that Wix calls for this method. Wix doesn't append any path to this URI.  The URI must begin with `https://`, such as `https://my-app.com/v1/my-custom-method`.  | validation: minLength 6, maxLength 2048
           - name: ecomValidations | type: ValidationsSPIConfig | description: Validate items in a site's cart and checkout based on custom logic. Learn More: https://dev.wix.com/docs/rest/api-reference/wix-e-commerce/validations-integration-spi/introduction.md  
              - name: validateInCart | type: boolean | description: Whether to validate the cart page in addition to the checkout page. Default: `false`  
              - name: deploymentUri | type: string | description: Required. Base URI where the endpoints are called. Wix appends the endpoint path to the base URI. For example, to call the Get Validation Violations endpoint at `https://my-validations.com/v1/get-violations`, the base URI you provide here is `https://my-validations.com`.  | validation: minLength 1
           - name: editorAddon | type: EditorAddon | description: Build a tool that adds functionality to the Wix editors. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/editor-extensions/about-editor-extensions.md  
              - name: toolPanelConfig | type: ToolPanelConfig | description: Tool panel configuration.  
                 - name: url | type: string | description: Iframe URL that hosts the add-on tool panel's content.  | validation: format WEB_URL
                 - name: width | type: string | description: Addon tool panel width.  
                 - name: height | type: string | description: Addon tool panel height.  
                 - name: initialPosition | type: InitialPosition | description: Initial position of the opened panel. Offset from top left corner of the container.  
                    - name: x | type: string | description: Offset from the left. For example, `"50px"`.  
                    - name: y | type: string | description: Offset from the top. For example, `"50px"`.  
              - name: marketData | type: AddonMarketData | description: Information to display in the addons market.  
                 - name: name | type: string | description: Addon name.  | validation: minLength 5
                 - name: iconUrl | type: string | description: URL source of the addon's icon. Must be 36px x 36px in JPG or PNG format.  | validation: format WEB_URL
                 - name: author | type: string | description: Author's name.  
                 - name: teaser | type: string | description: Addon teaser.  | validation: minLength 10, maxLength 60
              - name: editorScript | type: string | description: Optional, path to a Javascript file that will run in Editor environment  | validation: format WEB_URL
              - name: excludeFromAutoRevoke | type: boolean | description: Toggle to mark whether the editor should revoke an app that contains this component.  
           - name: externalDatabaseProvider | type: ExternalDatabaseSpiConfig | description: External Database component  
              - name: uriConfig | type: SpiBaseUri | description: The URI where the service provider is deployed.  
              - name: namespace | type: string | description: The namespace of the external database. This can be used to access collections within the database, for example `namespace/collectionId`.  
           - name: ecomPaymentSettings | type: PaymentSettingsSPIConfig | description: Integrate your service with Wix's payment process to allow merchants to request and use your services on their Wix sites. Learn More: https://dev.wix.com/docs/rest/business-solutions/e-commerce/service-plugins/payment-settings-integration-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI. For example, to call the Get Payment Settings endpoint at `https://my-payment-settings.com/v1/payment-settings`, the base URI you provide here is `https://my-payment-settings.com/`.  
              - name: fallbackValueForRequires3dSecure | type: boolean | description: The fallback value that is used for [`requires3dSecure`](https://support.wix.com/en/article/about-3d-secure-3ds-payments-with-third-party-payment-providers) if the service plugin call fails.  Default: `false`  
           - name: unifiedPage | type: UnifiedPage | description: Add a site page that displays selected widgets. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-pages/about-site-page-extensions.md  
              - name: base | type: BaseInfo | description: Base info of component by shared logic of unified components  
                 - name: name | type: string | description: The name of the component  | validation: minLength 1, maxLength 30
                 - name: _id | type: string | description: The internal id of the component by the own app  
                 - name: description | type: string | description: The description of the component by the own app  | validation: maxLength 130
                 - name: helpResources | type: HelpResources | description: Reference to help articles about the widget  
                    - name: articleId | type: string | description: The Wix Answers' article related to the component (chosen by own app)  | validation: format GUID
              - name: pageReplace | type: PageReplaceOptions | description: Page replacing options (replacer \ replacing \ none)  
              - name: content | type: PageContent | description: Content of page  
                 - name: widgets | type: array<WidgetAsContent> | description: Widgets to add as content in page.  
                    - name: widgetGuid | type: string | description: GUGUID of widget to use as content of page  | validation: format GUID
                    - name: preset | type: MainPresets | description: The preset should be used  
                       - name: desktopPresetId | type: string | description: The main desktop preset.  
                       - name: tabletPresetId | type: string | description: The main tablet preset.  
                       - name: mobilePresetId | type: string | description: The main mobile preset.  
                    - name: essential | type: boolean | description: Mark widget as essential for the existence of the app (force to delete the whole app)  
                 - name: pageComposition | type: CompositionRef | description: Whole-page composition. The referenced composition must have CompTypeDomain.PAGE template_type. Exclusive with widgets — at most one of the two may be set.  
                    - name: templateId | type: string | description: Stable handle to the underlying structure-template on the structure-templates server.  | validation: format GUID
                    - name: displayName | type: string | description: Display label for the composition in Editors.  | validation: maxLength 100
              - name: editorSettings | type: UnifiedPageEditorSettings | description: Settings for how the page integrates with the editor  
                 - name: base | type: PageEditorSettings | description: Basic editor settings that are relevant to all page types  
                    - name: addToSiteMenu | type: boolean | description: Add the page to the site menu  
                    - name: linkable | type: boolean | description: Can a page be linked through the link panel  
                    - name: duplicatable | type: boolean | description: Can a page be duplicated in the editor (if no essential widget is added in the container)  
                 - name: slug | type: string | description: slug of the page (last part of url that point to the page)  | validation: minLength 1, maxLength 200
           - name: multilingualTranslationSchema | type: MultilingualTranslationSchema | description: Multilingual translation schema Learn More: https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/translation-schema/schema-object.md  
              - name: referenceData | type: Schema | description:   
                 - name: _id | type: string | description: Translation schema GUID. Auto generated when the schema is created. Read Only.  | validation: format GUID
                 - name: key | type: SchemaKey | description: Required. Unique key identifying the translation schema. Cannot be updated after creation.  
                    - name: appId | type: string | description: GUID of the app that created the schema. No need to provide it on creation — it's automatically set to your app's GUID, and any provided value is overridden.  | validation: format GUID
                    - name: entityType | type: string | description: Required. A unique name defined by the app developer to differentiate translation schemas for various entities within their app. For example, if an app developer is creating a translation schema for blog posts, the `entityType` can be `'blog-posts'`.  | validation: minLength 1, maxLength 80, immutable
                    - name: scope | type: SchemaScope | description: Scope of the translation schema. No need to provide it on creation — it's automatically set to `GLOBAL`, and any provided value is overridden.  | validation: immutable
                             - enum:
                             -     GLOBAL: Global schema for all sites.
                             -     SITE: Custom schema for a specific site.
                 - name: fields | type: Map<string,SchemaField> | description: Required. List of fields for the translation schema. This property uses a string to map to a `SchemaField` (`Map<string, SchemaField>`).  The string serves as a key, which you'll need to access each field in the schema and when adding translation content.  [See full structure of `SchemaField`](https://dev.wix.com/docs/api-reference/business-management/multilingual/translation/translation-schema/schema-object.md).  | validation: minItems 1, maxItems 1000, format map
                    - name: _id | type: string | description: Field GUID. Validated according to Regex `^[A-Za-z0-9-_)(]+$`. Field GUIDs may contain parentheses to reference repeated items, such as images. These parentheses can't be nested and each opening parenthesis must be followed by a closing one. For example, `title()()` is valid, while `title)(` and `title(())` aren't valid. The value inside the parenthesis is validated according to Regex `^[^)(\\]\\[\\.]+$`.  | validation: minLength 1, maxLength 1000
                    - name: type | type: FieldType | description: Required. Field type.  
                             - enum:
                             -     SHORT_TEXT: Short plain text displayed as a single line in the UI.
                             -     LONG_TEXT: Long plain text displayed as multiple lines in the UI.
                             -     HTML: Long text including styles, images, and links.
                             -     RICH_CONTENT: Rich-Content using the Wix Ricos format.
                             -     IMAGE: Wix Media Manager image.
                             -     IMAGE_LINK: Image URL without metadata.
                             -     VIDEO: Wix Media Manager video.
                             -     DOCUMENT: Wix Media Manager document.
                    - name: displayName | type: string | description: Field name displayed in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager).  | validation: maxLength 1000
                    - name: groupName | type: string | description: Field group name.  | validation: maxLength 1000
                    - name: minLength | type: integer | description: Field minimum text length.  | validation: minimum 1, format int32
                    - name: maxLength | type: integer | description: Field maximum text length.  | validation: minimum 1, format int32
                    - name: format | type: string | description: Field format. Content is validated based on the format set here in the field schema. For example, if the format is `EMAIL`, then the content for this field must be a valid email address.  | validation: minLength 2, maxLength 20
                    - name: hidden | type: boolean | description: Whether the field is hidden from the site. Hidden fields are still validated.  
                    - name: displayOnly | type: boolean | description: Whether the field is read-only, and not intended to be translated. For example, an image. Use this field when you want an image to remain in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager) for context, but without being translated.  
                    - name: index | type: number | description: Field index. Use for cases where the order of the fields are relevant.  | validation: minimum 0
                 - name: previewFields | type: PreviewFields | description: Fields displayed in content previews. For example, a product name for a product translation schema.  
                    - name: titleFieldId | type: string | description: GUID of the field representing the schema's title.  | validation: maxLength 1000
                    - name: imageFieldId | type: string | description: GUID of the field representing the schema's image.  | validation: maxLength 1000
                 - name: hidden | type: boolean | description: Whether the translation schema is hidden from the site.  Default: `false`  
                 - name: displayName | type: string | description: Translation schema name displayed in the [Translation Manager](https://support.wix.com/en/article/wix-multilingual-using-the-translation-manager).  | validation: maxLength 100
                 - name: parentId | type: string | description: A reference to the parent schema. For example, if the schema is for a menu item, this property would contain the schema GUID of the menu it belongs to. Required when `require_parent_entity` is set to `true`.  | validation: format GUID
                 - name: revision | type: string | description: Revision number. Auto-generated on creation and incremented by 1 on each update. To prevent conflicting changes, the current revision must be passed when updating a schema. Read Only.  | validation: format int64
                 - name: _createdDate | type: Date | description: Date and time the translation schema was created. Auto-generated by the system. Read Only.  
                 - name: _updatedDate | type: Date | description: Date and time the translation schema was last updated. Auto-generated and updated by the system on every modification. Read Only.  
                 - name: duplicateContent | type: boolean | description: Whether to duplicate the translated content when a site containing the translation schema and content is duplicated.  Default: `false`  
                 - name: schemaGroupId | type: string | description: Indicate if this schema should be grouped under a custom group in the Translation Manager. For more info about this field check dev-center extension `Multilingual Schema Group`.  | validation: format GUID
                 - name: requireParentEntity | type: boolean | description: Whether content created or updated with this schema must include a `parent_entity_id`. When set to `true`, any Create Content or Update Content call targeting this schema will fail if `parent_entity_id` is missing or empty.  The schema itself must also have a `parent_id` defined, otherwise the schema Create or Update call will fail with `SchemaRequireParentEntityWithoutParentIdException`.  Default: `false`  
           - name: backOfficeModal | type: BackOfficeModal | description: Create a reusable modal that can be utilized across multiple pages within your app and in other applications.  
              - ONE-OF: 
                 - name: iframeUrl | type: string | description: Iframe URL that hosts the modal's content.  | validation: format WEB_URL
              - name: hostingPlatform | type: BackOfficeHostingPlatforms | description: Platform that hosts the modal.  Must be `"BUSINESS_MANAGER"`.  
                     - enum:
                     -     NO_HOSTING_PLATFORM: 
                     -     BUSINESS_MANAGER: Site Dashboard (The Wix Dashboard)
                     -     ACCOUNT_MANAGER: User Account Dashboard
                     -     DEV_CENTER: Internal: Dev center
                     -     ENTERPRISE: Enterprise dashboard (available to enterprise accounts only)
                     -     PARTNERS_DASHBOARD: Partners dashboard (available to partners accounts only)
                     -     FINANCIALS_INTERNAL_BO: Employee only financial support dashboard
                     -     FED_GUILD_POC: FED Guild POC dashboard
                     -     STUDIO_DASHBOARD: Studio dashboard
                     -     CHANNELS: Channels dashboard (available to channels accounts only)
                     -     DATA_TOOLS: Wix internal dashboard for data tools (proffesional data consumers, i.e Business Analysts, Data Engineers...)
                     -     PSP_BACKOFFICE: Internal back-office for payment service provider management
                     -     RISE_PLATFORM_ACCOUNT_DASHBOARD: Rise.ai account dashboard
                     -     DEMO_DASHBOARD_ENTERPRISE: Enterprise demo dashboard (available to possible enterprise accounts for demo purposes)
                     -     AI_SCHEDULING_ASSISTANT_DASHBOARD: A new AI scheduling assistant product dashboard (codename: "Nownia")
                     -     GETTING_PAID: Employee only getting paid cluster dashboard
                     -     DATA: Wix internal dashboard for data (non proffesional data consumers, i.e any Wix Employee that has a need for BI data)
                     -     LITE_DASHBOARD: Dashboard for viral forms/lite events/etc
                     -     PICASSO_EDITOR: Picasso AI application POC
                     -     BASE44_DASHBOARD_POC: Base44 Host Dashboard POC
                     -     WIXEL_EDITOR: Wixel Editor
                     -     BASE44_PLATFORM: Base44 Platform
                     -     PAYMENTS_BO: Payments by Wix Back Office
                     -     SYMPHONY: Symphony Giza host
                     -     BMR: BMR Giza host
              - name: title | type: string | description: Modal title.  | validation: minLength 1
              - name: width | type: integer | description: Initial width of the modal while loading, in pixels. Width may be adjusted dynamically based on the content of the modal or limited by the size of the modal's container.  | validation: minimum 0, maximum 9999, format int32
              - name: height | type: integer | description: Initial height of the modal while loading, in pixels. Height may be adjusted dynamically based on the content of the modal or limited by the size of the modal's container.  | validation: minimum 0, maximum 9999, format int32
              - name: metaData | type: ComponentMetaData | description: general component data  
              - name: iconKey | type: string | description: [Wix Design System icon](https://www.wix-pages.com/wix-design-system-employees/?path=/story/foundations-icons--icons). Use the full size key. The icon will be rendered in an appropriate size.  | validation: minLength 3, maxLength 50
           - name: customElementWidget | type: CustomElementWidget | description: Display a draggable widget on a site using a self-hosted custom element. Learn More: https://dev.wix.com/docs/build-apps/develop-your-app/extensions/site-extensions/site-widgets/about-site-widget-extensions.md  
              - name: base | type: BaseInfo | description: Base info of component by shared logic of unified components  
              - name: installation | type: WidgetInstallationSettings | description: Unified widget installation settings  
                 - ONE-OF: 
                    - name: staticContainer | type: StaticContainer | description: Which static container should the widget be installed at  
                             - enum:
                             -     UNKNOWN_CONTAINER: 
                             -     HOMEPAGE: Widget should be installed in the homepage
                             -     GLOBAL_PAGE: Show widget on all pages
                 - name: presets | type: DefaultPresets | description: Default presets per breakpoint with which the widget should be installed  
                    - name: small | type: string | description: Default preset GUID in small (mobile) breakpoint  | validation: minLength 1, maxLength 50
                    - name: default | type: string | description: Default preset GUID  | validation: minLength 1, maxLength 50
              - name: widgetData | type: WidgetData | description: The extension data for this component  
                 - name: scriptUrl | type: string | description: The script url that should render on the widget  | validation: format WEB_URL
                 - name: tagName | type: string | description: Unique tag name to use in order to connect your JS script to your web component  | validation: minLength 2, maxLength 64
                 - name: scriptType | type: CustomElementScriptType | description: Type of JavaScript modularization approach used in the custom element  
                         - enum:
                         -     NONE: 
                         -     COMMON_JS: CommonJS modularization approach
                         -     ES_MODULE: ES Module modularization approach
              - name: behaviors | type: EditorBehaviors | description: The widget's editor behaviors  
                 - name: settings | type: SettingsPanel | description: The settings behavior definition for the widget  
                    - name: settingsUrl | type: string | description: The settings panel URL for this component  | validation: format WEB_URL
                 - name: dashboard | type: Dashboard | description: The dashboard behavior definition for the widget  
                    - name: dashboardPageComponentId | type: string | description: The dashboard page guid for the widget manage of the widget  | validation: format GUID
              - name: size | type: WidgetSize | description: The size of the widget  
                 - name: height | type: Height | description: define the size of the widget's height  
                    - name: heightMode | type: HeightMode | description: Height calculation mode  
                             - enum:
                             -     UNKNOWN: 
                             -     AUTO: Height is calculated by content
                             -     FIXED: Height is fixed require size in px
                    - name: defaultHeight | type: integer | description: Default height in pixels  | validation: minimum 0, maximum 9999
                 - name: width | type: Width | description: define the size of the widget's width  
                    - name: allowStretch | type: boolean | description: Boolean to set stretch, will place the widget stretched to the full width of the container  
                    - name: defaultWidth | type: integer | description: Default width in pixels  | validation: minimum 0, maximum 9999
                    - name: stretchByDefault | type: boolean | description: Boolean to set stretch by default on installation, if true will place the widget stretched to the full width of the container  
              - name: dependencies | type: array<WixDependency> | description: The runtime dependencies array to declare the widget packages.  | validation: maxItems 50
              - name: presets | type: array<Preset> | description: The array of this widget's presets  | validation: maxItems 50
                 - name: _id | type: string | description: The id of the preset  | validation: minLength 1, maxLength 50
                 - name: name | type: string | description: Display name of the preset  | validation: minLength 1, maxLength 30
                 - name: breakpoints | type: Breakpoints | description: Defines data for screen size for the preset  
                    - name: small | type: Breakpoint | description: Defines data for small screen size  
                       - name: size | type: WidgetSize | description: The size of the preset  
                       - name: presetId | type: string | description: A different preset id to be used according to breakpoint  | validation: maxLength 50
                    - name: medium | type: Breakpoint | description: Defines data for medium screen size  
                    - name: large | type: Breakpoint | description: Defines data for large screen size  
                 - name: thumbnailUrl | type: string | description: URL of an image to show as the preset's thumbnail in the editor  | validation: format WEB_URL
           - name: ecomInventory | type: InventorySpiConfig | description: Integrate any external inventory with the Wix eCommerce platform. Learn More: https://dev.wix.com/docs/api-reference/business-solutions/e-commerce/catalogs/inventory-service-plugin/introduction.md  
              - name: deploymentUri | type: string | description: Base URI where the endpoints are called. Wix eCommerce appends the endpoint path to the base URI.  | validation: minLength 1, maxLength 200
           - name: multilingualTranslationSchemaGroup | type: SchemaGroup | description: Multilingual translation schema group  
              - name: _id | type: string | description: SchemaGroup GUID. Field is read only.  | validation: format GUID
              - name: _createdDate | type: Date | description: Date and time the SchemaGroup was created. Field is read only.  
              - name: _updatedDate | type: Date | description: Date and time the SchemaGroup was last updated. Field is read only.  
              - name: name | type: string | description: Name of the SchemaGroup. Max symbol length is 100. Field is translatable.  | validation: maxLength 100
              - name: groupElements | type: array<SchemaGroupElement> | description: List of Schemas.  | validation: maxItems 50
                 - name: _id | type: string | description: GUID of the Schema. If the schema group uses an element from another existing group, the reference id to that group has to be provided here.  | validation: format GUID
                 - name: position | type: integer | description: Position of the schema group element.  | validation: format int32
           - name: storesProductRestrictions | type: ProductRestrictionsConfig | description: Restriction service plugin for editing products managed by third-party fulfillment apps, such as dropshipping or print-on-demand services Learn More: https://dev.wix.com/docs/rest/business-solutions/stores/service-plugins/product-restrictions-v3/introduction.md  
              - name: deploymentUri | type: SpiBaseUri | description: URI where the SPI Implementer is deployed  
              - name: productRestrictionsConfig | type: RestrictionsConfig | description: Product restrictions configuration.  
                 - name: prices | type: Restriction | description: Prices restrictions.  Affected fields: * `variantsInfo.variants.price.actualPrice.amount` * `variantsInfo.variants.price.compareAtPrice.amount` * `inventory.trackingMethod.quantity`  
                    - name: restrictionLevel | type: RestrictionLevel | description: Restriction level.  
                             - enum:
                             -     WARNING: Users can edit the product field after acknowledging a warning modal.
                             -     LOCKED: Users **cannot** edit the product field.
                 - name: options | type: Restriction | description: Options restrictions.  Affected field: `options` (all nested fields except `linkedMedia`)  
                 - name: modifiers | type: Restriction | description: Modifier restrictions.  Affected field: `modifiers` (all nested fields except `linkedMedia`)  
                 - name: inventory | type: Restriction | description: Inventory restrictions.  Affected fields: * `variantsInfo.variants.sku` * `variantsInfo.variants.barcode` * `inventory.trackingMethod.quantity`  
                 - name: preOrder | type: Restriction | description: Pre order restrictions.  Affected field: `inventory.preorderInfo`  
                 - name: duplicateProduct | type: Restriction | description: Whether to disallow product duplication or display a warning when duplicating a product.  
           - name: staffSortingProvider | type: StaffSortingProviderConfig | description: Bookings Staff Sorting Provider SPI  
              - name: deploymentUri | type: SpiBaseUri | description: URI where the SPI Implementer is deployed  
              - name: methodName | type: string | description: User-friendly name for the sorting method  | validation: maxLength 100
              - name: methodDescription | type: string | description: User-friendly explanation about the sorting method.  | validation: maxLength 100
              - name: dashboardPluginId | type: string | description: Optional. An unique identifier for a component that will create a configuration for the method.  | validation: format GUID
           - name: realtimePermissionsProvider | type: RealtimePermissionsProviderConfig | description: Realtime Permissions Provider SPI - integrate with Wix to control who can receive messages on your Wix Realtime channels, by providing a custom permissions check that authorizes whether a subscriber is allowed to subscribe to your app's channels. Learn More: https://dev.wix.com/docs/sdk/core-modules/realtime/extensions/realtime-permissions-provider/check-subscriber-permissions.md  
              - name: deploymentUri | type: SpiBaseUri | description: The URI where the SPI Implementer is deployed  
              - name: providerName | type: string | description: A user-friendly name of the permissions provider  | validation: maxLength 100


```

### Examples

### Get component types display data
Retrieves display metadata for the available component types.

```javascript
import { componentsCatalog } from "@wix/app-components";

async function getComponentTypesDisplayData() {
  const response = await componentsCatalog.getComponentTypesDisplayData();
}

/* Promise resolves to:
 * {
 *   "componentTypesDisplayData": [
 *     {
 *       "type": "ECOM_ADDITIONAL_FEES",
 *       "displayName": "Ecom Additional Fees",
 *       "labels": ["eCommerce", "Backend"],
 *       "attributes": {
 *         "singular": false,
 *         "nonDeletable": false,
 *         "nonUpdatable": false
 *       },
 *       "description": "Provide custom additional fees that are added to a site's cart and checkout.",
 *       "exposure": "PUBLIC",
 *       "learnMoreLink": "https://dev.wix.com/docs/rest/business-solutions/e-commerce/additional-fees-service-plugin/introduction",.md
 *       "requiresApproval": false
 *     },
 *     {
 *       "type": "UNIFIED_PAGE",
 *       "displayName": "Unified Page",
 *       "labels": ["Site", "Live Site"],
 *       "attributes": {
 *         "singular": false,
 *         "nonDeletable": false,
 *         "nonUpdatable": false
 *       },
 *       "description": "Add a site page that displays selected widgets.",
 *       "exposure": "PUBLIC",
 *       "requiresApproval": false
 *     }
 *   ]
 * }
 */

```

### getComponentTypesDisplayData (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { componentsCatalog } from '@wix/app-components';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { componentsCatalog },
  // Include the auth strategy and host as relevant
});


async function getComponentTypesDisplayData() {
  const response = await myWixClient.componentsCatalog.getComponentTypesDisplayData();
};
```

---