[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides faststore using themes mixins breakpoints in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore)

[FastStore versions and support levels](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/getting-started-faststore-versions-and-support-levels)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/getting-started-overview)

[FastStore WebOps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/webops-dashboard)

[Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/headless-cms-overview)

[Developer tools and references](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/developer-tools-overview)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/styling-overview)

[Themes reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/themes-overview)

[Global tokens](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/global-tokens-overview)

[Iconography](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/styling-icons)

[Using themes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-overview)

[Styling the layout and breakpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints)

[Styling a component](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-components)

[Styling a section](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-pages)

[Importing FastStore UI component styles](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-importing-ui-components-styles)

[UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/components-index)

[Implementing storefront features](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/storefront-features-overview)

[FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/faststore-api-overview)

[FastStore SDK](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/sdk-overview)

[Developing and overriding UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/developing-and-overriding-components-overview)

[Extending the FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/api-extensions-overview)

[Managing URLs with redirects and rewrite paths](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/routing-managing-urls-with-redirects-and-rewrite-paths)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/managing-performance-overview)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/seo-overview)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/go-live-overview)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/troubleshooting-overview)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/storefront-best-practices)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore)

[FastStore versions and support levels](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/getting-started-faststore-versions-and-support-levels)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/getting-started-overview)

[FastStore WebOps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/webops-dashboard)

[Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/headless-cms-overview)

[Developer tools and references](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/developer-tools-overview)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/styling-overview)

[Themes reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/themes-overview)

[Global tokens](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/global-tokens-overview)

[Iconography](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/styling-icons)

[Using themes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-overview)

[Styling the layout and breakpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints)

[Styling a component](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-components)

[Styling a section](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-pages)

[Importing FastStore UI component styles](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-importing-ui-components-styles)

[UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/components-index)

[Implementing storefront features](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/storefront-features-overview)

[FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/faststore-api-overview)

[FastStore SDK](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/sdk-overview)

[Developing and overriding UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/developing-and-overriding-components-overview)

[Extending the FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/api-extensions-overview)

[Managing URLs with redirects and rewrite paths](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/routing-managing-urls-with-redirects-and-rewrite-paths)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/managing-performance-overview)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/seo-overview)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/go-live-overview)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/troubleshooting-overview)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/storefront-best-practices)

---

[Storefront development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/storefront-development)

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/styling-overview)

[Using themes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-overview)

Styling the layout and breakpoints

## Breakpoints

FastStore simplifies screen breakpoint customization for projects by using [Include-Media](https://read.calvincode.net/reader?url=https://eduardoboucas.github.io/include-media/%23features), a Sass library for writing CSS media queries in an easy and maintainable way, using a natural and simplistic syntax. Each project has the following five pre-defined screen breakpoints:

`1

$breakpoints: (

2

 "phone": 320px,

3

 "phonemid": 375px,

4

 "tablet": 768px,

5

 "notebook": 1280px,

6

 "desktop": 1440px,

7

);

`

### Customizing Breakpoints

Follow the steps below to override the pre-defined sizing system for the screen breakpoints.

> Modifying these breakpoints implies changes to certain global tokens. See [Grid & Layout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/global-tokens-grid-and-layout%23breakpoints) for more details.

1. Go to the `src` folder and create the `styles` folder inside it. You can run the following command to create it:

macOS and Linux

Windows

`1

mkdir src/styles

`

1. Inside the `styles` folder, create a new file called `custom-mixins.scss`

macOS and Linux

Windows

`1

touch src/styles/custom-mixins.scss

`

1. Add the following code snippet into the file:

src/styles/custom-mixins.scss

`1

@import "@faststore/ui/src/styles/base/utilities";

2

3

// Overwrites Breakpoints & Mixins ////////////////////

4

5

$breakpoints: (

6

 "phone": 320px,

7

 "phonemid": 375px,

8

 "tablet": 768px,

9

 "notebook": 1280px,

10

 "desktop": 1500px,

11

);

`

> You need to declare all the variants (phone, phonemid, tablet, notebook, and desktop) even when changing only one of the values.

1. Run `yarn dev` in the terminal to start the development server. You should be able to see the changes.

---

## Mixins

The [Sass @mixin](https://read.calvincode.net/reader?url=https://sass-lang.com/documentation/at-rules/mixin/) allows you to define styles that can be re-used throughout your application. Within FastStore projects, these mixins are categorized into three groups: `Global Mixins`, `Layout & Spacing Mixins`, and `Focus Ring Mixins`.

Global Mixins

Layout & Spacing Mixins

Focus Ring Mixins

`1

$base: 16px !default;

2

3

@function rem($size) {

4

 $rem: math.div($size, $base);

5

6

 @return #{$rem}rem;

7

}

8

9

@mixin truncate-title($max-lines: var(--fs-text-max-lines)) {

10

 display: -webkit-box;

11

 overflow: hidden;

12

 -webkit-box-orient: vertical;

13

 -moz-box-orient: vertical;

14

 -webkit-line-clamp: $max-lines;

15

 line-clamp: $max-lines;

16

 text-overflow: -o-ellipsis-lastline;

17

 text-overflow: ellipsis;

18

 white-space: normal;

19

}

`

### Customizing Mixins

Overriding the predefined mixins follows a process similar to the [customizing breakpoints steps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints%23customizing-breakpoints). If you already have a `custom-mixin.scss` file, you can skip to _Step 3_. Otherwise, follow the steps below:

1. Go to the `src` folder and create the `styles` folder inside it. You can run the following command to create it:

macOS and Linux

Windows

`1

mkdir src/styles

`

1. Inside the `styles` folder, create a new file called `custom-mixins.scss`

macOS and Linux

Windows

`1

touch src/styles/custom-mixins.scss

`

1. Choose the [mixin](#mixins) you want to override and add it to the file:

src/styles/custom-mixins.scss

`1

@import "@faststore/ui/src/styles/base/utilities";

2

3

// Overwrites Breakpoints & Mixins ////////////////////

4

5

@mixin input-focus-ring($outline: #{var(--fs-color-focus-ring-danger)}, $border: #{--fs-color-danger-border}) {

6

 [...]

7

}

`

This code will make the following changes on the default `@mixin input-focus-ring`:

`1

- @mixin input-focus-ring($outline: #{var(--fs-color-focus-ring)}, $border: #{var(--fs-border-color-active)}) {

2

+ @mixin input-focus-ring($outline: #{var(--fs-color-focus-ring-danger)}, $border: #{var(--fs-color-danger-border)}) {

3

 [...]

4

}

`

1. Run `yarn dev` to start the development server.

You should see that all components that use the `focus-ring` now have a red shadow when focused. Click on the input to see the change.

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/faststore/docs/styling/using-themes/mixins-breakpoints.mdx)

[Using themes« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-overview)[Styling a componentNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-components)

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

ON THIS PAGE

[Breakpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23breakpoints)

[Customizing Breakpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23customizing-breakpoints)

[Mixins](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23mixins)

[Customizing Mixins](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23customizing-mixins)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/faststore/docs/styling/using-themes/mixins-breakpoints.mdx)

Copy page

On this page

ON THIS PAGE

[Breakpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23breakpoints)

[Customizing Breakpoints](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23customizing-breakpoints)

[Mixins](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23mixins)

[Customizing Mixins](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/using-themes-mixins-breakpoints/docs/guides/faststore/using-themes-mixins-breakpoints%23customizing-mixins)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides product specifications in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/catalog-integration)

[Categories](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/categories)

[Brands](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/brands)

[Products](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/products)

[Specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/specifications)

[Product specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications)

[SKU specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/sku-specifications)

[Updating SKU Specifications with Catalog API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/updating-sku-specifications-with-catalog-api)

[SKUs](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/skus)

[Images](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/images)

[Alternative API requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/alternative-api-requests)

[How to implement product color variation](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/how-to-implement-product-color-variation)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/master-data)

---

Payments

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/catalog-integration)

[Categories](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/categories)

[Brands](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/brands)

[Products](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/products)

[Specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/specifications)

[Product specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications)

[SKU specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/sku-specifications)

[Updating SKU Specifications with Catalog API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/updating-sku-specifications-with-catalog-api)

[SKUs](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/skus)

[Images](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/images)

[Alternative API requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/alternative-api-requests)

[How to implement product color variation](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/how-to-implement-product-color-variation)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/master-data)

---

Payments

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides)

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/catalog-integration)

[Product specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications)

Product specifications

Learn more with this [article about specifications](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tracks/catalog-101--5AF0XfnjfWeopIFBgs3LIQ/2NQoBv8m4Yz3oQaLgDRagP?%26utm%5Fsource=autocomplete%23).

> If you wish to implement color variation in your products, we recommend you do not use specifications. Instead, see this tutorial about [How to implement product color variation](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-implement-product-color-variation).

## Data Model

| Field        | Description                                                             | Required                                                         | Format  | Default       |
| ------------ | ----------------------------------------------------------------------- | ---------------------------------------------------------------- | ------- | ------------- |
| Id           | ID of Specification. This Id is used to delete/update the specification | No                                                               | Integer | AutoIncrement |
| ProductId    | ID of Product                                                           | Yes                                                              | Integer | \-            |
| FieldId      | Field ID                                                                | Yes                                                              | Integer | \-            |
| FieldValueId | ID of FieldValue. ONLY for FieldTypeId(5,6,7).                          | Mandatory for 5,6,7\. MUST NOT be used for any other field types | Integer | null          |
| Text         | Value of specification. Only for FieldTypeId different from (5,6,7)     | Mandatory for all fields EXCEPT 5,6,7 where it MUSTN’T be used   | String  | null          |

## Implementation

To create a product specification, use the API below. Remembering that you must have saved the ID of the field for which you want to create a specification.

> If the specification field is of the Combo, Radio or Checkbox type (`FieldTypeId` of 5, 6 and 7 respectively), the `FieldValueId` field is required and the `Text` field is not.\\n- For text type fields, it is not necessary to create values for the field, that is, the `FieldValueId` attribute must be `null` and the `Text` attribute must be provided with the specification value.

### Create Specification - Example #1 (text field)

POST

`1

https://{{accountName}}.vtexcommercestable.com.br/api/catalog/pvt/product/{{productId}}/specification

`

Body:

`1

{

2

 "FieldId": 21,

3

 "Text": "This is a test for specification field type text",

4

}

`

Header:

`1

Accept: application/json

2

Content-Type: application/json

3

X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}

4

X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}

`

Response:

`1

Status: 200 OK

`

`1

{

2

 "Id": 39,

3

 "ProductId": 42,

4

 "FieldId": 21,

5

 "FieldValueId": null,

6

 "Text": "This is a test for specification field type text"

7

}

`

### Create Specification - Example #2 (Non-text field)

POST

`1

https://{{accountName}}.vtexcommercestable.com.br/api/catalog/pvt/product/{{productId}}/specification

`

Body:

`1

{

2

 "FieldId": 22,

3

 "FieldValueId": 65,

4

}

`

Headers:

`1

Accept: application/json

2

Content-Type: application/json

3

X-VTEX-API-AppToken: {{X-VTEX-API-AppToken}}

4

X-VTEX-API-AppKey: {{X-VTEX-API-AppKey}}

`

Response:

`1

Status: 200 OK

`

`1

{

2

 "Id": 38,

3

 "ProductId": 42,

4

 "FieldId": 22,

5

 "FieldValueId": 65,

6

 "Text": "Metal"

7

}

`

### Get all specifications from a product

To get all specification fields and values from a product, use the [Get product specification and its information by product ID endpoint](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/catalog-api%23get-/api/catalog/pvt/product/-productId-/specification). See an example response below.

`1

[

2

 {

3

 "Id": 38,

4

 "ProductId": 42,

5

 "FieldId": 22,

6

 "FieldValueId": 65,

7

 "Text": "Metal"

8

 },

9

 {

10

 "Id": 39,

11

 "ProductId": 42,

12

 "FieldId": 21,

13

 "FieldValueId": null,

14

 "Text": "This is a test for specification field type text"

15

 }

16

]

`

### Update product specification

To update a product specification use the [Update a product specification by product ID API endpoint](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/catalog-api%23post-/api/catalog%5Fsystem/pvt/products/-productId-/specification). It's also possible to update specification values in bulk.

> Updating product specification by `fieldName` does not work.

#### Example request

Body:

`1

[

2

 {

3

 "value": [

4

 "Metal"

5

 ],

6

 "Id": 22

7

 },

8

 {

9

 "value": [

10

 "This is the second test for specification field type text"

11

 ],

12

 "Id": 21

13

 }

14

]

`

Response:

`1

Status: 200 OK

`

### Remove product specifications

To remove a specification from a product, use the [Delete product specification API endpoint](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/catalog-api%23delete-/api/catalog/pvt/product/-productId-/specification/-specificationId-).

### Remove all specifications from a product

To delete all specifications registered in a product, use the [Delete all product specification API endpoint](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/api-reference/catalog-api%23delete-/api/catalog/pvt/product/-productId-/specification).

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F7108339%3Fv%3D4%26w=64%26q=75)](https://github.com/brunoamui)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Integration-Guides/catalog-integration/product-specifications.md)

[Specifications« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications//docs/guides/specifications)[SKU specificationsNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications//docs/guides/sku-specifications)

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F7108339%3Fv%3D4%26w=64%26q=75)](https://github.com/brunoamui)

ON THIS PAGE

[Data Model](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23data-model)

[Implementation](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23implementation)

[Create Specification - Example #1 (text field)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23create-specification-example-1-text-field)[Create Specification - Example #2 (Non-text field)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23create-specification-example-2-non-text-field)[Get all specifications from a product](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23get-all-specifications-from-a-product)[Update product specification](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23update-product-specification)[Remove product specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23remove-product-specifications)[Remove all specifications from a product](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23remove-all-specifications-from-a-product)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Integration-Guides/catalog-integration/product-specifications.md)

Copy page

On this page

ON THIS PAGE

[Data Model](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23data-model)

[Implementation](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23implementation)

[Create Specification - Example #1 (text field)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23create-specification-example-1-text-field)[Create Specification - Example #2 (Non-text field)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23create-specification-example-2-non-text-field)[Get all specifications from a product](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23get-all-specifications-from-a-product)[Update product specification](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23update-product-specification)[Remove product specifications](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23remove-product-specifications)[Remove all specifications from a product](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/product-specifications/docs/guides/product-specifications%23remove-all-specifications-from-a-product)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides vtex store components productimages in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/updates/release-notes)

VTEX IO Apps

[Basic components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/basic-components)

---

[Store Components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/store-components)

---

[Advanced components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/advanced-components)

---

[B2B components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/b2b-components)

---

[B2B Suite](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.b2b-suite)

---

[Functional Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/functional-apps)

---

[Layout Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/layout-apps)

---

[Pixel Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/pixel-apps)

---

[My Account - StoreV2 version](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.my-account)

---

[VTEX IO deprecated apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/vtex-io-deprecated-apps)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/updates/release-notes)

VTEX IO Apps

[Basic components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/basic-components)

---

[Store Components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/store-components)

---

[Advanced components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/advanced-components)

---

[B2B components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/b2b-components)

---

[B2B Suite](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.b2b-suite)

---

[Functional Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/functional-apps)

---

[Layout Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/layout-apps)

---

[Pixel Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/pixel-apps)

---

[My Account - StoreV2 version](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.my-account)

---

[VTEX IO deprecated apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/guides/vtex-io-deprecated-apps)

---

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/vtex-io-apps)

Product Images

[vtex.store-components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components)

Version: 3.178.5

Latest version: 3.178.5

The `product-images` block renders an image or video configured in the SKU settings. To learn which media formats are supported, see the [Media](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/media-overview--31fhjHTt4TBoo50AmGQ9b2) section in the [Adding or editing SKUs](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/adding-or-editing-skus--4ryZ6J45kwn3jDiQBxGiiN) guide.

![{"base64":"  ","img":{"width":2102,"height":1084,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":409582,"url":"https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-store-components-productimages-0.png"}}](https://read.calvincode.net/reader?url=https://cdn.jsdelivr.net/gh/vtexdocs/dev-portal-content@main/images/vtex-store-components-productimages-0.png)

## Configuration

1. Import the `vtex.store-components` app to your theme dependencies in the `manifest.json` file, as in the following example:

`1

 "dependencies": {

2

 "vtex.store-components": "3.x"

3

 }

`

1. Add the `product-images` block to any child of the `store.product` template (Product Details Page template). For example:

`1

 "store.product": {

2

 "children": [

3

 "flex-layout.row#product",

4

 ]

5

 },

6

 "flex-layout.row#product": {

7

 "children": [

8

+ "product-images"

9

 ]

10

 },

`

1. Declare the `product-images` block using the props stated in the [Props](#props) table. Example:

`1

 "product-images": {

2

 "props": {

3

 "displayThumbnailsArrows": true

4

 }

5

 },

`

### Props

| Prop name               | Type                             | Description                                                                                | Default value  |
| ----------------------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
| aspectRatio             | string                           | Sets the image aspect ratio, determining whether it should be square, portrait, landscape, etc. Follow the [common aspect ratio notation](https://read.calvincode.net/reader?url=https://en.wikipedia.org/wiki/Aspect%5Fratio%5F%28image%29), represented by two numbers separated by a colon, such as 1:1 for square, 3:4 for portrait, or 1920:1080 for widescreen.                                                                                | "auto"         |
| blockClass              | string                           | Serves as the block's unique identifier for customization.                                                                                |                |
| contentOrder            | 'videos-first' \| 'images-first' | Controls the order in which the images and videos are displayed.                                                                                | 'images-first' |
| contentType             | enum                             | Controls the type of content that will be displayed in the block. Possible values are images, videos, or all.                                                                                | all            |
| displayMode             | enum                             | Defines how the product media should be displayed. Possible values are carousel (displays the product images and videos in a carousel), list (displays only the product images inline, with no extra markup), and first-image (displays only the first image available). **The list and first-image values don't display product videos and are only compatible with the maxHeight, hiddenImages, zoomFactor, aspectRatio,ModalZoomElement, and zoomMode props**. | carousel       |
| displayThumbnailsArrows | boolean                          | Displays navigation arrows on the thumbnail media (if there are enough thumbnails for them to scroll).                                                                                | false          |
| hiddenImages            | string                           | Hides images with labels that match the values listed in this prop. Intended to be used with the product-summary-sku-selector block. To learn more, see the [SKU Selector](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/skuselector) documentation.                                                                                | skuvariation   |
| maxHeight               | number                           | Maximum height for individual product images (in pixels).                                                                                | 600            |
| ModalZoom               | block                            | Opens a modal to zoom in on the product image. This prop value must match the name of the block that triggers the modal containing the product image for zooming (for example, modal-layout from [Modal layout](https://read.calvincode.net/reader?url=https://developers.vtex.com/apps/vtex.modal-layout) app). The ModalZoom prop will only work if the zoomMode prop is set as open-modal. To learn more, see the [Advanced configuration section](#Advanced-configuration).                          | undefined      |
| placeholder             | string                           | Sets the URL for a placeholder image to be displayed when no product image or video is available.                                                                                | undefined      |
| position                | enum                             | Sets the position of the thumbnails (left or right). Only used when thumbnailsOrientation is vertical.                                                                                | left           |
| showNavigationArrows    | boolean                          | Defines if the navigation arrows should be displayed.                                                                                | true           |
| showPaginationDots      | boolean                          | Defines if the pagination dots should be displayed.                                                                                |                |
| showImageLabel          | boolean                          | Controls if the image label text should be rendered above each image.                                                                                | true           |
| thumbnailVisibility     | visible or hidden                | Defines if the thumbnails should be displayed in carousel displayMode.                                                                                | visible        |
| thumbnailAspectRatio    | string                           | Sets the aspect ratio of the thumbnail image. For more information about aspect ratio, check out the aspectRatio prop.                                                                                | "auto"         |
| thumbnailMaxHeight      | number                           | Maximum height of the thumbnail image (in pixels).                                                                                | 150            |
| thumbnailsOrientation   | enum                             | Sets the orientation of the thumbnails. It can be vertical or horizontal.                                                                                | vertical       |
| zoomFactor              | number                           | Sets how much the zoom increases the image size (for example, 2 will make the zoomed-in image twice as large).                                                                                | 2              |
| zoomMode                | enum                             | Sets the image zoom behavior. Possible values are disabled (zoom is disabled), in-place-click (zoom is triggered when the image is clicked), in-place-hover (zoom is triggered when the image is hovered on), and open-modal (image is zoomed using a modal).                                                                                | in-place-click |

### Advanced configuration

In this section, you’ll learn how to use modal zoom, a property that allows you to open a popup displaying a product image for zooming. To use this feature, configure the `product-images` block by setting the `zoomMode` and `ModalZoom` props to `open-modal` and `modal-layout`, respectively.

When configured as explained, the `zoomMode` prop allows the image to trigger a modal for zooming. Additionally, the `MozalZoom` prop will render the block defined as its value. In this case, the `modal-layout` is required. This allows you to configure a modal containing the product image for zooming.

Once both props are correctly configured, you must declare the `modal-layout` block and the `product-images.high-quality-image` block as its child.

The `modal-layout` block renders the modal component and triggers the image zoom in a popup box. The `product-images.high-quality-image` block, in turn, is a _special_ block used exclusively to render the `product-image` block inside the modal.

Example:

`1

{

2

 "product-images.high-quality-image": {

3

 "props": {

4

 "zoomMode": "in-place-click",

5

 "zoomFactor": 2

6

 }

7

 },

8

 "modal-layout#product-zoom": {

9

 "children": [

10

 // you can put any other block inside the modal,

11

 // this is just a normal modal

12

 "flex-layout.row#product-name",

13

 "product-images.high-quality-image"

14

 ]

15

 },

16

 "product-images": {

17

 "props": {

18

 "ModalZoom": "modal-layout#product-zoom",

19

 // to use the ModalZoom, the product-images zoomMode value must be set as open-modal

20

 "zoomMode": "open-modal",

21

 "aspectRatio": {

22

 "desktop": "auto",

23

 "phone": "16:9"

24

 }

25

 }

26

 }

27

}

`

The `product-images.high-quality-image` block must be declared as a child of `modal-layout`. You can also declare other blocks exported by the [Modal Layout app](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.modal-layout) as children.

The following table shows the props allowed by `product-images.high-quality-image`:

| Prop name   | Type       | Description                                                                                | Default value |
| ----------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------- |
| aspectRatio | string     | Sets the image aspect ratio, determining whether it should be square, portrait, landscape, etc. Follow the [common aspect ratio notation](https://read.calvincode.net/reader?url=https://en.wikipedia.org/wiki/Aspect%5Fratio%5F%28image%29), represented by two numbers separated by a colon, such as 1:1 for square, 3:4 for portrait, or 1920:1080 for widescreen. | auto          |
| defaultSize | number     | Image default size (in px).                                                                                | 1200          |
| imageSizes  | \[number\] | Image sizes (in px) to be used in the image [srcset HTML attribute](https://read.calvincode.net/reader?url=https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia%5Fand%5Fembedding/Responsive%5Fimages). If no value is defined for this prop, the srcset will use the original image size.                                                                  | undefined     |
| maxSize     | number     | Image maximum size (in px) for rendering, regardless of screen size. This prop only works if you also declare the imageSizes prop.                                                                                | 4096          |
| zoomFactor  | number     | Sets how much the zoom increases the image size (for example, 2 will make the zoomed-in image twice as large).                                                                                | 2             |
| zoomMode    | enum       | Sets the zoom behavior for the product-images.high-quality-image block. Possible values are disabled (no zoom), in-place-click (zoom on click), and in-place-hover (zoom on hover). Unlike the store-images prop, this one doesn’t accept the open-modal value.                                                                | disabled      |

## Customization

To apply CSS customizations to this and other blocks, see the guide [Using CSS handles for store customization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-io-documentation-using-css-handles-for-store-customization).

| CSS Handles                                    |
| ---------------------------------------------- |
| carouselContainer                              |
| carouselCursorDefault                          |
| carouselGaleryCursor                           |
| carouselGaleryThumbs                           |
| carouselIconCaretLeft                          |
| carouselIconCaretRight                         |
| carouselImagePlaceholder                       |
| carouselInconCaretRight                        |
| carouselThumbBorder                            |
| figure                                         |
| figure--video                                  |
| highQualityContainer                           |
| image                                          |
| imgZoom                                        |
| productImagesContainer (content is deprecated) |
| productImagesContainer--carousel               |
| productImagesContainer--list                   |
| productImagesGallerySlide                      |
| productImagesGallerySwiperContainer            |
| productImagesThumb                             |
| productImagesThumbActive                       |
| productImagesThumbCaret                        |
| productImagesThumbsSwiperContainer             |
| productImageTag--main                          |
| productImageTag--zoon                          |
| productImageTag                                |
| productImageLabel                              |
| productVideo                                   |
| swiper-pagination                              |
| swiperBullet--active                           |
| swiperBullet                                   |
| swiperCaret                                    |
| swiperCaretNext                                |
| swiperCaretPrev                                |
| thumbImg                                       |
| thumbImg--video                                |
| video                                          |
| video                                          |
| videoContainer                                 |

See also

[Vtex.store ComponentsVTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.store-components)[VTEX App StoreVTEX IO Apps](https://read.calvincode.net/reader?url=https://apps.vtex.com/)

ON THIS PAGE

[Configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.store-components/ProductImages%23configuration)

[Props](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.store-components/ProductImages%23props)[Advanced configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.store-components/ProductImages%23advanced-configuration)

[Customization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/vtex-store-components-productimages/docs/apps/vtex.store-components/ProductImages%23customization)

Was this helpful?

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides faststore getting started 5 integrating with the headless cms in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore)

[FastStore versions and support levels](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-faststore-versions-and-support-levels)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-overview)

[1\. Setting up your environment](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-1-setting-up-your-environment)

[2\. Starting a new FastStore project](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-2-starting-the-project)

[3\. Running the project locally](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-3-running-the-project-locally)

[4\. Understanding the project structure](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-4-understanding-the-project-structure)

[5\. Integrating your project with the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms)

[Setting up the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-setting-up-the-headless-cms)

[Structuring Content Types and Sections](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-structuring-content-types-and-sections)

[Promoting your changes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-promoting-your-headless-cms-changes)

[6\. Next steps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-6-next-steps)

[Glossary](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-glossary)

[FastStore WebOps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/webops-dashboard)

[Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/headless-cms-overview)

[Developer tools and references](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/developer-tools-overview)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/styling-overview)

[UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/components-index)

[Implementing storefront features](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/storefront-features-overview)

[FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/faststore-api-overview)

[FastStore SDK](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/sdk-overview)

[Developing and overriding UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/developing-and-overriding-components-overview)

[Extending the FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/api-extensions-overview)

[Managing URLs with redirects and rewrite paths](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/routing-managing-urls-with-redirects-and-rewrite-paths)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/managing-performance-overview)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/seo-overview)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/go-live-overview)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/troubleshooting-overview)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/storefront-best-practices)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore)

[FastStore versions and support levels](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-faststore-versions-and-support-levels)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-overview)

[1\. Setting up your environment](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-1-setting-up-your-environment)

[2\. Starting a new FastStore project](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-2-starting-the-project)

[3\. Running the project locally](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-3-running-the-project-locally)

[4\. Understanding the project structure](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-4-understanding-the-project-structure)

[5\. Integrating your project with the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms)

[Setting up the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-setting-up-the-headless-cms)

[Structuring Content Types and Sections](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-structuring-content-types-and-sections)

[Promoting your changes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-promoting-your-headless-cms-changes)

[6\. Next steps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-6-next-steps)

[Glossary](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-glossary)

[FastStore WebOps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/webops-dashboard)

[Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/headless-cms-overview)

[Developer tools and references](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/developer-tools-overview)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/styling-overview)

[UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/components-index)

[Implementing storefront features](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/storefront-features-overview)

[FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/faststore-api-overview)

[FastStore SDK](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/sdk-overview)

[Developing and overriding UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/developing-and-overriding-components-overview)

[Extending the FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/api-extensions-overview)

[Managing URLs with redirects and rewrite paths](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/routing-managing-urls-with-redirects-and-rewrite-paths)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/managing-performance-overview)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/seo-overview)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/go-live-overview)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/troubleshooting-overview)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/storefront-best-practices)

---

[Storefront development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/storefront-development)

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-overview)

5\. Integrating your project with the Headless CMS

Connect your FastStore project with the Headless CMS to manage and publish your store’s content efficiently.

In this step, you'll connect your FastStore project to [Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/headless-cms-overview) so editors can create, preview, and publish content. You'll also configure the webhooks that keep builds and previews in sync—without this integration, CMS changes won't reach your storefront.

## What you'll accomplish

By the end of this step, you will have:

* Configured Headless CMS webhooks to trigger builds when content is published
* Set up preview URLs for content editors to see changes before going live
* Configured WebOps to communicate CMS updates back to your Git repository
* Established a complete content workflow where CMS changes automatically sync with your codebase

This integration enables your content team to manage store content independently while keeping everything in sync with your development workflow.

## Step 1: Configuring the Headless CMS

Configure the URLs of the webhooks used by the Headless CMS app.

1. In the VTEX Admin, access **Storefront > Headless CMS**.
2. In the FastStore project interface, click on `Settings` (⚙).
3. In **Settings**, click the `Build` tab.
4. In **Build Webhook URL**, click `Add`.
5. Enter the following value. _Replace the values between curly brackets according to your scenario._
`1
https://app.io.vtex.com/vtex.cms-builder-sf-jamstack/v1/{account}/master/build-releases
`
6. Click **SAVE**.

> When an editor clicks to publish a page using the Headless CMS interface, the CMS calls the **Build Webhook URL**, which changes the page's status to `published`. The CMS then waits for the content to be built in the background.

1. Fill in the **Preview URL** field with your production URL. This URL activates the button on the Headless CMS, allowing you to preview the changes made to a page. _Replace the values between curly brackets according to your scenario._

## Step 2: Communicating WebOps updates to the Headless CMS

If you are developing your FastStore project with CI/CD and Headless CMS, you must ensure that CI/CD is aware of every CMS update performed via the VTEX Admin. To do so, you must configure the WebOps webhooks responsible for communicating with the Headless CMS as follows.

1. Open your FastStore project in any code editor of your preference.
2. Edit the `discovery.config.js` file in the root directory of your project.
3. In the Headless CMS configuration, add the `webhookUrls` property corresponding to your store website as follows:
discovery.config.js
`1
"vtexHeadlessCms": {
2
 webhookUrls: [
3
 "https://{account}.myvtex.com/cms-releases/webhook-releases"
4
 ]
5
}
`
4. Open a Pull Request in your project, including the previous changes.
5. Merge the Pull Request.

Now you can make changes to the Headless CMS and check if commits are being created in the project. In the following example, the `Hero` title was modified to `10% off on first purchase`, and we can see that it generated a commit in the repository.

![{"base64":"  ","img":{"width":950,"height":441,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":110781,"url":"https://vtexhelp.vtexassets.com/assets/docs/src/cms-example-commits___7bb21be1504033098122feb013667b49.png"}}](https://read.calvincode.net/reader?url=https://vtexhelp.vtexassets.com/assets/docs/src/cms-example-commits___7bb21be1504033098122feb013667b49.png)

## Next step

Now that Headless CMS is integrated, set up content types and sections for your editors: [Setting up the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/headless-cms-2-setting-up-the-headless-cms)

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/faststore/docs/getting-started/5-integrating-your-project-with-the-headless-cms.mdx)

[4\. Understanding the project structure« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-4-understanding-the-project-structure)[Setting up the Headless CMSNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-setting-up-the-headless-cms)

See also

[VTEX IO CLIGuides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/vtex-io-documentation-vtex-io-cli-installation-and-command-reference)

Contributors

2

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F60782333%3Fv%3D4%26w=64%26q=75)](https://github.com/carolinamenezes)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

ON THIS PAGE

[What you'll accomplish](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23what-youll-accomplish)

[Step 1: Configuring the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23step-1-configuring-the-headless-cms)

[Step 2: Communicating WebOps updates to the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23step-2-communicating-webops-updates-to-the-headless-cms)

[Next step](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23next-step)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/faststore/docs/getting-started/5-integrating-your-project-with-the-headless-cms.mdx)

Copy page

On this page

ON THIS PAGE

[What you'll accomplish](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23what-youll-accomplish)

[Step 1: Configuring the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23step-1-configuring-the-headless-cms)

[Step 2: Communicating WebOps updates to the Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23step-2-communicating-webops-updates-to-the-headless-cms)

[Next step](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/getting-started-5-integrating-with-the-headless-cms/docs/guides/faststore/getting-started-5-integrating-your-project-with-the-headless-cms%23next-step)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)