> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Basic Product Information

[*International Enhancements for Multi-Storefront*](/developer/docs/admin/multi-storefront/msf-international-enhancements/overview)

> **Note**
>
> This feature is currently available for Performance plan stores and Partner Sandboxes. If the feature is not working as expected, please contact technical support, as the feature likely needs to be enabled for the individual store.
> If you are interested in upgrading to the Performance plan, [contact our sales team](https://bigcommerce.com/contact-sales/).

Using the Catalog features of the Admin API, you can set and query basic product information, for example, product name and description.

You can perform the following:

* [Set global basic product information](#set-basic-product-information-at-the-global-level) for the catalog. Channels inherit these by default.
* [Create overrides for a channel and channel locale](#set-basic-product-information-for-a-locale) using the `overridesForLocale` mutation.
* [Remove overrides for a channel and channel locale](#remove-basic-product-information-for-a-locale). A channel then inherits global values.
* [Query basic product information](#query-basic-product-information), those set at the global level and the overrides.

For a full schema, see the [GraphQL Admin API reference](/developer/api-reference/graphql/account/overview).

## Input fields

Setting or removing information requires that you specify ID fields in the input. For more information on how to specify ID fields, see [Input fields](/developer/docs/admin/multi-storefront/msf-international-enhancements/overview#input-fields).

## Set basic product information at the global level

The following example sets global basic product information for the store, from which channels inherit by default. You can set the product name and description.

#### Request

**`Example mutation: Set basic product information at the global level`**

```graphql title="Example mutation: Set basic product information at the global level"
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/graphql
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json

mutation (
  $input: SetProductBasicInformationInput!
) {
  product {
    setProductBasicInformation(input: $input) {
      product {
        id
        basicInformation {
          name
          description
        }
      }
    }
  }
}
```

**`GraphQL variables`**

```json title="GraphQL variables"
{
  "input": {
    "productId": "bc/store/product/111",
    "data": {
      "name": "Global Name",
      "description": "Global Description"
    }
  }
}
```

#### Response

**`Example mutation: Set basic product information at the global level`**

```json title="Example mutation: Set basic product information at the global level"
{
  "data": {
    "product": {
      "setProductBasicInformation": {
        "product": {
          "id": "bc/store/product/111",
          "basicInformation": {
            "name": "Global Name",
            "description": "Global Description"
          }
        }
      }
    }
  }
}
```

## Set basic product information for a locale

The following example sets basic product information for the specified storefront channel and locale within the channel. These will override global store information. You can set the product name and description.

#### Request

**`Example mutation: Set basic product information for a locale`**

```graphql title="Example mutation: Set basic product information for a locale"
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/graphql
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json

mutation (
  $input: SetProductBasicInformationInput!
) {
  product {
    setProductBasicInformation(input: $input) {
      product {
        id
        overridesForLocale (localeContext: { channelId: "bc/store/channel/2", locale: "en" }) {
          basicInformation {
            name
            description
          }
        }
      }
    }
  }
}
```

**`GraphQL variables`**

```json title="GraphQL variables"
{                                           
  "input": {                                
    "productId": "bc/store/product/111",    
    "localeContext": {
      "channelId": "bc/store/channel/2",      
      "locale": "fr"
    },                       
    "data": {                               
      "name": "name override",              
      "description": "description override" 
    }                                                       
  }
}
```

#### Response

**`Example mutation: Set basic product information for a locale`**

```json title="Example mutation: Set basic product information for a locale"
{
  "data": {
    "product": {
      "setProductBasicInformation": {
        "product": {
          "id": "bc/store/product/111",
          "overridesForLocale": {
            "basicInformation": {
              "name": "name override",
              "description": "Description override"
            }
          }
        }
      }
    }
  }
}
```

## Remove basic product information for a locale

The following example removes basic product information for the specified channel and locale.

Omitting the `overridesToRemove` field from the input removes *all* overrides for basic product information from the locale.

#### Request

**`Example mutation: Remove basic product information for a locale`**

```graphql title="Example mutation: Remove basic product information for a locale"
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/graphql
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json

mutation (
  $input: RemoveProductBasicInformationOverridesInput!
) {
  product {
    removeProductBasicInformationOverrides(input: $input) {
      product {
        id
        overridesForLocale (localeContext: { channelId: "bc/store/channel/2", locale: "fr" }) {
          basicInformation {
            name
          }
        }
      }
    }
  }
}
```

**`GraphQL variables`**

```json title="GraphQL variables"
{                                           
  "input": {                                
    "productId": "bc/store/product/111",    
    "localeContext": {
      "channelId": "bc/store/channel/2",      
      "locale": "fr"
    },
    "overridesToRemove": ["PRODUCT_NAME_FIELD"]                                                                    
  }
}  
```

#### Response

**`Example mutation: Remove basic product information for a locale`**

```json title="Example mutation: Remove basic product information for a locale"
{
  "data": {
    "product": {
      "removeProductBasicInformationOverrides": {
        "product": {
          "id": "bc/store/product/111",
          "overridesForLocale": {
            "basicInformation": {
              "name": "name override"
            }
          }
        }
      }
    }
  }
}
```

## Query basic product information

The following example retrieves basic product information. You can retrieve global information for the store and overrides for the specified channel and locale.

#### Request

**`Example query: Get basic product information`**

```graphql title="Example query: Get basic product information"
POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/graphql
X-Auth-Token: {{ACCESS_TOKEN}}
Content-Type: application/json
Accept: application/json

query {
  store {
    products (filters: {ids: ["bc/store/product/111"]}) {
      edges {
        node {
          id
          basicInformation {
            name
            description
          }
          overridesForLocale (localeContext: { channelId: "bc/store/channel/2", locale: "fr" }) {
            basicInformation {
              name
              description
            }
          }
        }
      }
    }
  }
}
```

#### Response

**`Example query: Get basic product information`**

```json title="Example query: Get basic product information"
{
  "data": {
    "store": {
      "products": {
        "edges": [
          {
            "node": {
              "id": "bc/store/product/111",
              "basicInformation": {
                "name": "Global Name",
                "description": "Global Description"
              },
              "overridesForLocale": {
                "basicInformation": {
                  "name": "name override",
                  "description": "Description override"
                }
              }
            }
          }
        ]
      }
    }
  }
}
```

> **Note**
>
> * The `id` field contains the product's global ID that you can retrieve from the [Get all products](/developer/api-reference/rest/admin/catalog/products/get-products) endpoint. For example, a product with a global ID of 111 will have an `id` of `"bc/store/product/111"`.
> * The `channelId` field contains the channel's global ID that you can retrieve from the [Get all channels](/developer/api-reference/rest/admin/management/channels/get-channels) endpoint. For example, a channel with a global ID of 2 will have a `channelId` of `"bc/store/channel/2"`.