---
title: "Store context object"
slug: "store-context-object"
abstract: "Describes the store context object in a Discover Search and Recommendation request."
---
# Store context object

The following table describes the keys in the `store` context object:

| Key | Type | Description |
| --- | --- | --- |
| `id` | string | Store ID. This ID must be consistent with the ID shared in the product feed. |
| `group_id` | string | Store group ID. If you organize stores in two levels, such as zones and stores, pass the top-level organization identifier as the `group_id`. This ID must be consistent with the group ID shared in the product feed. |

## Store Information

You can configure either one-level or two-level store information:

- One-level store information - use `id` to specify the store identifier.

    For a B2B website, if you have availability, restrictions, or price organized by a user ID or user contract ID, pass the user ID or user contract ID as `id`

- Two-level store information (store information organized at a regional and store level) - pass the group store ID as `group_ID` and the store ID as `id`.

    For a B2B website, pass the customer group ID or customer contract group ID as `group_id`. Then, pass the customer ID or customer contract ID as `id`.

## Restriction IDs

If you have a B2B website, use either the `id` or `group_id` keys to manage restrictions, depending on if you have one-level or two-level restrictions.

For one-level restrictions, use `id` as the restriction ID. For the `id` value:

- For a restriction based on the user ID, pass the user ID as the `id`.
- For a restriction based on something other than the user ID, pass that specific restriction ID as `id`.

For two-level restrictions, use `group_id` as the restriction ID. For the `group_id` value:

- For a restriction based on the user group ID, pass the user group ID as `group_id`.
- For a restriction based on something other than the user group ID, pass that specific restriction ID as `group_id`.