A component is a single unit in the hierarchy that makes up a layout. It typically has a single purpose such as retrieving one or more content items, executing a search query, or delegating to child components in the hierarchy.

A component can be either static or managed:

A static component is pre-defined by a developer as part of a layout configuration through the Site Management API and cannot be configured by site editors.

A managed component is pre-defined by developers as part of a component group through the Site Management API and can be dragged onto a page and configured by a site editor in the Experience manager.

A component group is a set of managed components that are made available in the component catalog in the Experience manager to be dragged onto pages and further configured by site editors.

For a full overview of configuration parameters, see the CatalogGroup and ComponentDefinition schemas in the API reference documentation.

Components and Component Groups

Components are the building blocks for websites, and in Bloomreach Content the available components are created within a catalog. The catalog presents a site editor with a set of draggable components in the Experience Manager, under the Components tab in the left sidebar. The component catalog is divided into separate named component groups, to assist with organizing large numbers of components. The "base" group is a special case, containing the built-in base components provided by the platform. The Site Management API enables creating new components by extending the base components, allowing a developer to build many specialized components with distinct behaviors.

For more information on the available base components and how to extend them by defining additional configuration parameters, see Base Components. To create, update, or delete a component through the API, a group name must always be specified. 

A component always extends from a base component, which must be specified in creating and updating requests. The list of available base components is provided by using the call to GET all components of the base group:

GET <your-brx-host>/management/site/v1/channels/<your-channel-id>/component_groups/base/components

When creating a new component, always use the attribute "extends". The value is the name of the base component that you wish to extend from, prefixed with the group name and a slash. Example:

  "id": "custom-component-group/myNewComponent",
  "extends": "base/query-component",

The payload for a PUT call for a component allows specifying an image for the component (an icon). At the moment, the format supported is SVG, please refer to the example in the API specification.

See the Site Management API reference documentation for a list of component operations.

You can find examples of using the component and component group endpoints in the Postman collection.

For hands-on tutorials on defining components, see Hello World Component and Content-Driven Component in the About Bloomreach Content section.