diff --git a/docs/store-operations/segments/definitions.mdx b/docs/store-operations/segments/definitions.mdx
new file mode 100644
index 000000000..d551b1757
--- /dev/null
+++ b/docs/store-operations/segments/definitions.mdx
@@ -0,0 +1,68 @@
+# Definitions and Logical Relationships
+
+
+ #### Exclusive enterprise feature
+ The Customer Segmentation API is available to enterprise customers. If you would like to become an enterprise customer, please contact your BigCommerce Customer Service Manager or our support team.
+
+
+## Segment
+An entity that classifies shoppers into groups or buckets, referred to as **segments**.
+
+## Manual segment
+A collection of shoppers that a merchant or application has grouped together using the API. Manual segments are not a distinct entity in our API; they are a subset of **segments**.
+
+## Shopper profile
+An entity that represents a registered **customer**. Current plans for future releases include supporting **shopper profiles** for **guest** customers.
+
+## Customer
+An existing entity that represents a shopper who is registered with the store. In the Customer Segmentation API documentation, assume that **customers** are signed in to the subject storefront. For more on the **customer** entity, see the public [Customers API reference](/docs/rest-management/customers).
+
+## Guest
+A shopper who is not signed in to the subject storefront.
+
+A **guest** may or may not be a registered **customer**, but because they are not signed in, your application doesn't know their registration status.
+
+## Promotion
+A way to give discounts based on whether the shopper meets specific criteria, such as ordering a certain amount, purchasing certain brands, being a repeat customer, or being associated with a **shopper profile** that belongs to a **segment**.
+
+For more on using **promotions** with **segments**, see [Targeting a segment with a promotion](/docs/store-operations/customer-segmentation/user-guide#targeting-a-segment-with-a-promotion). For more on the **promotion** entity, see the [Promotions documentation](/docs/store-operations/promotions).
+
+## Summary of entity relationships
+
+### Many-to-many
+
+* Segments and shopper profiles
+* Segments and promotions
+
+### One-to-one
+
+* Shopper profiles and customers
+
+### Other entity relationships
+
+Relationships that don't currently involve the Customer Segmentation API:
+* Many-to-many: guests and promotions
+
+Relationships that don't yet exist:
+* Shopper profiles and guests
+
+## Resources
+
+### Articles
+* [Customer Segmentation API Overview](/docs/store-operations/customer-segmentation)
+* [Customer Segmentation API Guide](/docs/store-operations/customer-segmentation/user-guide)
+* [Promotions and Customer Segmentation](/docs/store-operations/customer-segmentation/promotions-api)
+* [Promotions API documentation](/docs/store-operations/promotions)
+
+### Customer Segmentation reference
+* [Customer Segmentation V3 API Reference Overview](/docs/rest-management/customer-segmentation)
+* [Create segments](/docs/rest-management/customer-segmentation/segments#create-segments)
+* [Create shopper profiles](/docs/rest-management/customer-segmentation/shopper-profiles#create-shopper-profiles)
+* [Add shopper profiles to a segment](docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#add-shopper-profiles-to-a-segment)
+* [Update Segments](docs/rest-management/customer-segmentation/segments#update-segments)
+* [Remove shopper profiles from a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#remove-shopper-profiles-from-a-segment)
+* [Delete segments](docs/rest-management/customer-segmentation/segments#delete-segments)
+* [Get all shopper profiles in a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#get-all-shopper-profiles-in-a-segment)
+* [Get all segments for a shopper profile](/docs/rest-management/customer-segmentation/segments-for-a-shopper-profile#get-all-segments-for-a-shopper-profile)
+
+
diff --git a/docs/store-operations/segments/faqs.mdx b/docs/store-operations/segments/faqs.mdx
new file mode 100644
index 000000000..94dde598d
--- /dev/null
+++ b/docs/store-operations/segments/faqs.mdx
@@ -0,0 +1,35 @@
+# FAQ
+
+## How will a promotion be applied to shoppers associated with a targeted segment?
+
+For a promotion to apply, you must assign a customer to the targeted segment, and they must sign in to the subject storefront.
+
+For automatic promotions, the discount automatically applies itself to the cart of each eligible signed-in customer. For coupon promotions, the signed-in customer must enter a valid coupon code associated with the promotion during checkout.
+
+
+## Can you segment guests where customer_id=0?
+
+Not currently. This version of the Customer Segmentation API doesn’t support segmenting guest shoppers; only registered customers can be assigned to segments.
+
+
+## How many segments are supported?
+
+We support up to 100 segments per **store**. The number of segments we support may increase due to the feedback we receive.
+
+
+## What’s the difference between customer segments and customer groups?
+
+Customer groups allow you to group shoppers based on more permanent characteristics, like tax zones or shopper consent to collect GDPR-compliant data. A registered customer can only belong to one group at a time.
+
+Customer segments provide greater flexibility. They leverage both the permanent and transient characteristics of a shopper to drive highly personalized shopping experiences. A [shopper profile](/docs/store-operations/customer-segmentation/definitions-and-relationships#shopper-profile) can belong to multiple segments.
+
+## Resources
+
+### Articles
+* [Customer Segmentation API Overview](/docs/store-operations/customer-segmentation)
+* [Customer Segmentation API Guide](/docs/store-operations/customer-segmentation/user-guide)
+* [Definitions and Logical Relationships](/docs/store-operations/customer-segmentation/definitions-and-relationships)
+* [Promotions API](/docs/store-operations/customer-segmentation/promotions-api)
+
+### Endpoints
+* [Customer Segmentation V3 API Reference](/docs/rest-management/customer-segmentation)
diff --git a/docs/store-operations/segments/overview.mdx b/docs/store-operations/segments/overview.mdx
new file mode 100644
index 000000000..9c9da2018
--- /dev/null
+++ b/docs/store-operations/segments/overview.mdx
@@ -0,0 +1,42 @@
+# Customer Segmentation API Overview
+
+
+ * Create manual segments with the API - leverage externally-defined customer segments using third-party tools and quickly transfer this data into and out of BigCommerce.
+ * Add a shopper to multiple segments - shoppers, or registered customers, can belong to up to 100 segments, meaning you can target a registered customer with multiple promotional experiences.
+ * Use segments with the Promotions API - apply a promotion to target multiple segments of shoppers, and exclude shoppers within a segment from receiving this promotion.
+
+
+## Introduction
+
+A **customer segment** is a collection of shoppers that share specific characteristics. Segmentation defines groups of shoppers that a merchant wants to target with a [Promotion](/docs/store-operations/customer-segmentation/definitions-and-relationships#promotion), or dedicated value proposition.
+
+As a BigCommerce merchant, agency, and/or tech partner needing to improve a merchant store’s personalization strategy, the Customer Segmentation API enables the creation of externally defined segments that you can target within a promotion.
+
+Manual segments created with the Segmentation API will be visible within the Promotions Advanced Editor Control Panel UI Targeting section.
+
+![Promotion targeting segment.png](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Customer_Segmentation/Beta%20Docs%20Phasea1/Edit%20Promotions.png)
+
+For participants using the Promotions API, manual segments created with the Segmentation API will also be available to be targeted within the Promotions API.
+
+
+ #### Exclusive enterprise feature
+ The Customer Segmentation API is available to enterprise customers. If you would like to become an enterprise customer, please contact your BigCommerce Customer Service Manager or our support team.
+
+
+## Segments and shopper profiles
+
+This API introduces two new objects that are both high-level entities with a many-to-many relationship: [segments](/docs/store-operations/customer-segmentation/definitions-and-relationships#segment) and [shopper profiles](/docs/store-operations/customer-segmentation/definitions-and-relationships#shopper-profile).
+
+![Screen Shot 2021-08-06 at 3.50.00 pm.png](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Customer_Segmentation/Beta%20Docs%20Phasea1/AquoYWAIt6g.png)
+
+
+## Resources
+
+### Articles
+* [Customer Segmentation API Guide](/docs/store-operations/customer-segmentation/user-guide)
+* [Definitions and Logical Relationships](/docs/store-operations/customer-segmentation/definitions-and-relationships)
+* [Promotions API](/docs/store-operations/customer-segmentation/promotions-api)
+* [Promotions Advanced Editor](https://support.bigcommerce.com/s/article/Advanced-Promotions#creating) (Support Center)
+
+### Endpoints
+* [Customer Segmentation V3 API Reference Overview](/docs/rest-management/customer-segmentation/segments)
diff --git a/docs/store-operations/segments/promotions-api.mdx b/docs/store-operations/segments/promotions-api.mdx
new file mode 100644
index 000000000..e183a1870
--- /dev/null
+++ b/docs/store-operations/segments/promotions-api.mdx
@@ -0,0 +1,34 @@
+# Promotions API
+
+
+ #### Exclusive enterprise feature
+ The Customer Segmentation API is available to enterprise customers. If you would like to become an enterprise customer, please contact your BigCommerce Customer Service Manager or our support team.
+
+
+The [Promotions API](/docs/store-operations/promotions) lets you create exponentially more promotions and granular targeting rules than what you can do in the store control panel UI alone.
+
+
+Learn more about [targeting a segment with a promotion](/docs/store-operations/customer-segmentation/user-guide#targeting-a-segment-with-a-promotion).
+
+## Resources
+
+### Articles
+* [Customer Segmentation API Guide](/docs/store-operations/customer-segmentation/user-guide)
+* [Customer Segmentation API Overview](/docs/store-operations/customer-segmentation)
+* [Definitions and Logical Relationships](/docs/store-operations/customer-segmentation/definitions-and-relationships)
+* [Promotions Advanced Editor](https://support.bigcommerce.com/s/article/Advanced-Promotions#creating) (Support Center)
+
+### Customer Segmentation reference
+* [Customer Segmentation V3 API Reference Overview](/docs/rest-management/customer-segmentation/segments)
+* [Create segments](/docs/rest-management/customer-segmentation/segments#create-segments)
+* [Create shopper profiles](/docs/rest-management/customer-segmentation/shopper-profiles#create-shopper-profiles)
+* [Add shopper profiles to a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#add-shopper-profiles-to-a-segment)
+* [Update Segments](/docs/rest-management/customer-segmentation/segments#update-segments)
+* [Remove shopper profiles from a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#remove-shopper-profiles-from-a-segment)
+* [Delete segments](/docs/rest-management/customer-segmentation/segments#delete-segments)
+* [Get all shopper profiles in a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#get-all-shopper-profiles-in-a-segment)
+* [Get all segments for a shopper profile](/docs/rest-management/customer-segmentation/segments-for-a-shopper-profile#get-all-segments-for-a-shopper-profile)
+
+### Customers reference
+* [Create customers](/docs/rest-management/customers#create-customers)
+* [Get customers](/docs/rest-management/customers#get-all-customer)
diff --git a/docs/store-operations/segments/user-guide.mdx b/docs/store-operations/segments/user-guide.mdx
new file mode 100644
index 000000000..96daf9bea
--- /dev/null
+++ b/docs/store-operations/segments/user-guide.mdx
@@ -0,0 +1,408 @@
+# Customer Segmentation API Guide
+
+
+ #### Exclusive enterprise feature
+ The Customer Segmentation API is available to enterprise customers. If you would like to become an enterprise customer, please contact your BigCommerce Customer Service Manager or our support team.
+
+
+Get started with the Customer Segmentation API by creating *Segments* and *Shopper Profiles*. This guide provides example requests and responses to get you started customizing targeted shopper experiences.
+
+
+## Customer Segments
+
+Create customer segments to offer customers targeted promotions. See the [Customer Segmentation overview](/docs/store-operations/customer-segmentation) to get the big picture on targeting customers with promotions. For more granular details, see the [Targeting a segment with a promotion](#targeting-a-segment-with-a-promotion) section of this article.
+
+### Creating segments
+
+Create new segments by sending a request to the [Create segments](/docs/rest-management/customer-segmentation/segments#create-segments) endpoint. Include an array of objects, where each object represents a segment and contains `name` and `description` properties.
+
+
+ Segment names appear in the Promotions Manager view of the store control panel. To reduce confusion, give your segments unique names.
+
+
+
+
+
+ ```http filename="Example request: Create segments" showLineNumbers copy
+ POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/segments
+ X-Auth Token: {{ACCESS_TOKEN}}
+ Content-Type: application/json
+ Accept: application/json
+
+ [
+ {
+ "name": "My Segment",
+ "description": "Segment description."
+ }
+ ]
+ ```
+
+
+
+
+ ```json filename="Example response: Create segments" showLineNumbers copy
+ {
+ "data": [
+ {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "My Segment",
+ "description": "Segment description.",
+ "created_at": "2022-08-24T14:15:22Z",
+ "updated_at": "2022-08-24T14:15:22Z"
+ }
+ ],
+ "meta": {}
+ }
+ ```
+
+
+
+
+
+## Shopper profiles
+
+Create a shopper profile to assign registered customers to segments. You can identify which registered customer a shopper profile represents by the profile's `customer_id` property; shopper profiles have a 1:1 relationship with registered customers.
+
+### Existing customers
+
+You can create one [shopper profile](/docs/store-operations/customer-segmentation/definitions-and-relationships#shopper-profile) for each registered customer using the [Create shopper profiles](/docs/rest-management/customer-segmentation/shopper-profiles#create-shopper-profiles) endpoint. Include an array of objects, where each object represents a shopper profile and contains the corresponding `customer_id`.
+
+
+
+
+ ```http filename="Example request: Create shopper profiles" showLineNumbers copy
+ POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/shopper-profiles
+ X-Auth Token: {{ACCESS_TOKEN}}
+ Content-Type: application/json
+ Accept: application/json
+
+ [
+ {
+ "customer_id": 1
+ }
+ ]
+ ```
+
+
+
+
+ ```json filename="Example response: Create shopper profiles" showLineNumbers copy
+ {
+ "data": [
+ {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "customer_id": 1,
+ "created_at": "2022-08-24T14:15:22Z",
+ "updated_at": "2022-08-24T14:15:22Z"
+ }
+ ],
+ "meta": {}
+ }
+ ```
+
+
+
+
+### New customers
+
+To create a shopper profile for a new customer, first use the [Create customers](/docs/rest-management/customers#create-customers) endpoint to register the customer, then create a shopper profile using the new `customer_id`.
+
+### Add shopper profiles to a segment
+
+After you create segments and shopper profiles, you can associate multiple shopper profiles with a given segment using the [Add shopper profiles to a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#add-shopper-profiles-to-a-segment) endpoint. Include the `segmentId` as a path parameter, and pass an array of shopper profile `id`s.
+
+
+
+
+ ```http filename="Example request: Add shoppers to a segment" showLineNumbers copy
+ POST https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/segments/{{segmentId}}/shopper-profiles
+ X-Auth Token: {{ACCESS_TOKEN}}
+ Content-Type: application/json
+ Accept: application/json
+
+ [
+ "497f6eca-6276-4993-bfeb-53cbbbba6f08", // shopper profile UUID
+ ]
+ ```
+
+
+
+
+ ```json filename="Example response: Add shoppers to a segment" showLineNumbers copy
+ {
+ "data": [
+ {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "customer_id": 1,
+ "created_at": "2022-08-24T14:15:22Z",
+ "updated_at": "2022-08-26T14:08:31Z"
+ }
+ ]
+ }
+ ```
+
+
+
+
+## Updating and deleting segments
+
+Use the following guide to update or delete segments.
+
+### Update segments
+
+Update segment names and descriptions using the [Update Segments](/docs/rest-management/customer-segmentation/segments#update-segments) endpoint. Include an array of objects that each contain the `segmentId`; `name` and `description` are optional.
+
+
+
+
+ ```http filename="Example request: Update segments" showLineNumbers copy
+ PUT https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/segments
+ X-Auth Token: {{ACCESS_TOKEN}}
+ Content-Type: application/json
+ Accept: application/json
+
+ [
+ {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "My Segment",
+ "description": "New and improved segment description."
+ }
+ ]
+ ```
+
+
+
+
+ ```json filename="Example response: Update a segment" showLineNumbers copy
+ {
+ "data": [
+ {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "My Segment",
+ "description": "New and improved segment description.",
+ "created_at": "2022-08-24T14:15:22Z",
+ "updated_at": "2022-08-27T18:57:22Z"
+ }
+ ],
+ "meta": {}
+ }
+ ```
+
+
+
+
+#### Remove shoppers from a given segment
+
+You may want to change the segments to which a shopper's profile belongs based on the shopper's behavior on the storefront. To remove one or more specific shopper profiles, use the [Remove shopper profiles from a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#remove-shopper-profiles-from-a-segment) endpoint. Include the `segmentId` as a path parameter, and use the `id:in` query parameter to pass the shopper profile `id`(s) you want to remove. If you exclude `id:in`, this request will empty the segment of all shopper profiles.
+
+
+ Removing a shopper profile from a segment does not delete the shopper profile itself. The shopper profile will remain associated with any other segments.
+
+
+
+
+
+ ```http filename="Example request: Remove shoppers from a segment" showLineNumbers copy
+ DELETE https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/segments/{{segmentId}}/shopper-profiles
+ X-Auth Token: {{ACCESS_TOKEN}}
+ Accept: application/json
+ ```
+
+
+
+
+ ```json filename="Example response: Remove shoppers from a segment" showLineNumbers copy
+ HTTP 204 No Content
+ ```
+
+
+
+### Delete segments
+
+To delete segments, use the [Delete segments](/docs/rest-management/customer-segmentation/segments#delete-segments) endpoint. Segments and shopper profiles have a many-to-many relationship. Thus, all the shopper profiles associated with a deleted segment will still exist, but be disassociated from the deleted segment. Include the `id:in` query parameter to specify which segments you want to delete.
+
+
+ #### Make sure to specify which segments
+ If you don't pass the `id:in` query parameter, you will delete every segment in the store.
+
+
+
+
+
+ ```http filename="Example request: Delete segments" showLineNumbers copy
+ DELETE https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/segments
+ X-Auth-Token: {{ACCESS_TOKEN}}
+ Accept: application/json
+ ```
+
+
+
+ ```json filename="Example response: Delete segments" showLineNumbers copy
+ HTTP 204 No Content
+ ```
+
+
+
+### Delete shopper profiles
+
+To delete shopper profiles, use the [Delete shopper profiles](/docs/rest-management/customer-segmentation/shopper-profiles#delete-shopper-profiles) endpoint. Include the `id:in` query parameter to specify which shopper profiles you want to delete.
+
+
+
+ #### Make sure to specify which shopper profiles
+ If you don't pass the `id:in` query parameter, you will delete every shopper profile in the store.
+
+
+
+
+
+ ```http filename="Example request: Delete shopper profiles" showLineNumbers copy
+ DELETE https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/shopper-profiles
+ X-Auth-Token: {{ACCESS_TOKEN}}
+ Accept: application/json
+ ```
+
+
+
+ ```json filename="Example response: Delete shopper profiles" showLineNumbers copy
+ HTTP 204 No Content
+ ```
+
+
+
+## Retrieving segment information
+
+Once you've established relationships between segments and shopper profiles, you can extend the reach of the Customer Segmentation API to target customers.
+
+### Retrieve shopper profiles for a segment
+
+To keep your segments in sync with external apps, use the [Get all shopper profiles in a segment](/docs/rest-management/customer-segmentation/shopper-profiles#get-all-shopper-profiles) endpoint. This request returns a list of all shopper profiles belonging to a specific segment.
+
+
+
+
+ ```http filename="Example request: Get all shopper profiles in a segment" showLineNumbers copy
+ GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/segments/{{segmentId}}/shopper-profiles
+ X-Auth-Token: {{ACCESS_TOKEN}}
+ Accept: application/json
+ ```
+
+
+
+
+ ```json filename="Example response: Get all shopper profiles in a segment" showLineNumbers copy
+ {
+ "data": [
+ {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "customer_id": 1,
+ "created_at": "2022-08-24T14:15:22Z",
+ "updated_at": "2022-08-24T14:15:22Z"
+ }
+ ],
+ "meta": {
+ "pagination": {
+ "total": 1,
+ "count": 1,
+ "per_page": 50,
+ "current_page": 1,
+ "total_pages": 1
+ }
+ }
+ }
+ ```
+
+
+
+
+### Retrieve segments for a shopper profile
+
+To find all segments associated with a given shopper profile, use the [Get all segments for a shopper profile](/docs/rest-management/customer-segmentation/segments-for-a-shopper-profile#get-all-segments-for-a-shopper-profile) endpoint. Include the `id` of the shopper profile as a path parameter.
+
+
+
+
+ ```http filename="Example request: Get a shopper's segments" showLineNumbers copy
+ GET https://api.bigcommerce.com/stores/{{STORE_HASH}}/v3/shopper-profiles/{{shopperProfileId}}/segments
+ X-Auth-Token: {{ACCESS_TOKEN}}
+ Accept: application/json
+ ```
+
+
+
+
+ ```json filename="Example response: Get a shopper's segments" showLineNumbers copy
+ {
+ "data": [
+ {
+ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
+ "name": "My Segment",
+ "description": "New and improved segment description.",
+ "created_at": "2022-08-24T14:15:22Z",
+ "updated_at": "2022-08-24T14:15:22Z"
+ }
+ ],
+ "meta": {
+ "pagination": {
+ "total": 1,
+ "count": 1,
+ "per_page": 50,
+ "current_page": 1,
+ "total_pages": 1
+ }
+ }
+ }
+ ```
+
+
+
+
+### Retrieve shopper profile and segments for a customer
+
+To discover whether a customer is already associated with a shopper profile and segments, use the [Get customers](/docs/rest-management/customers#get-all-customers) endpoint. Pass the `include` query parameter with `shopper_profile_id` and `segment_ids` as in its comma-separated list of values.
+
+## Targeting a segment with a promotion
+
+You can use the Promotions Advanced Editor in the store control panel to target the segments you create with the Customer Segmentation API.
+
+### Promotions Advanced Editor
+
+To create a promotion in the store control panel, go to **Marketing > Promotions > Create > With Advanced Editor**. For more detailed information on creating a promotion, visit the [Advanced Editor](https://support.bigcommerce.com/s/article/Advanced-Promotions#creating) article in our Support Center.
+
+![Promotions Advanced Editor.png](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Customer_Segmentation/Beta%20Docs%20Phasea1/Promotions_Create.png)
+
+When you set up targeting rules for a promotion, the **Customer Segment** field is available as an option.
+
+![targeting.png](https://storage.googleapis.com/bigcommerce-production-dev-center/images/Customer_Segmentation/Beta%20Docs%20Phasea1/targeting.png)
+
+The Advanced Editor supports both inclusion and exclusion targeting rules, such as the following:
+
+* Using the *is* conditional, a promotion can target segments of shoppers who are in **segment A** *and/or* **segment B**.
+
+- Using the *is not* conditional, a promotion can target segments of shoppers who are in *neither* **segment A** *nor* **segment B**.
+
+To learn more about promotion targeting rules, visit the [Advanced Editor](https://support.bigcommerce.com/s/article/Advanced-Promotions#creating) article in our Support Center.
+
+
+## Resources
+
+### Articles
+* [Customer Segmentation API Overview](/docs/store-operations/customer-segmentation)
+* [Definitions and Logical Relationships](/docs/store-operations/customer-segmentation/definitions-and-relationships)
+* [Promotions API](/docs/store-operations/customer-segmentation/promotions-api)
+* [Promotions Advanced Editor](https://support.bigcommerce.com/s/article/Advanced-Promotions#creating) (Support Center)
+
+### Customer Segmentation reference
+* [Customer Segmentation V3 API Reference Overview](/docs/rest-management/customer-segmentation/segments)
+* [Create segments](/docs/rest-management/customer-segmentation/segments#create-segments)
+* [Create shopper profiles](/docs/rest-management/customer-segmentation/shopper-profiles#create-shopper-profiles)
+* [Add shopper profiles to a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#add-shopper-profiles-to-a-segment)
+* [Update Segments](/docs/rest-management/customer-segmentation/segments#update-segments)
+* [Remove shopper profiles from a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#remove-shopper-profiles-from-a-segment)
+* [Delete segments](/docs/rest-management/customer-segmentation/segments#delete-segments)
+* [Get all shopper profiles in a segment](/docs/rest-management/customer-segmentation/shopper-profiles-for-a-segment#get-all-shopper-profiles-in-a-segment)
+* [Get all segments for a shopper profile](/docs/rest-management/customer-segmentation/segments-for-a-shopper-profile#get-all-segments-for-a-shopper-profile)
+
+### Customers reference
+* [Create customers](/docs/rest-management/customers#create-customers)
+* [Get customers](/docs/rest-management/customers#get-all-customers)
diff --git a/reference/carts.v3.yml b/reference/carts.v3.yml
index de2295ecc..ee40d5b71 100644
--- a/reference/carts.v3.yml
+++ b/reference/carts.v3.yml
@@ -2245,6 +2245,10 @@ components:
type: boolean
example: true
description: Whether or not you can change or remove the item from the cart. Items that are immutable include those added automatically by promotions.
+ added_by_promotion:
+ type: boolean
+ example: false
+ description: Whether or not a promotion added an additional item.
download_file_urls:
description: URLs to download all product files.
type: array
@@ -3288,6 +3292,10 @@ components:
type: boolean
example: true
description: Whether or not you can change or remove the item from the cart. Items that are immutable include those added automatically by promotions.
+ added_by_promotion:
+ type: boolean
+ example: false
+ description: Whether or not a promotion added an additional item.
gift_wrapping:
description: The gift wrapping details for this item.
type: object
diff --git a/reference/catalog/products_catalog.v3.yml b/reference/catalog/products_catalog.v3.yml
index 588b59de4..2a8ab3558 100644
--- a/reference/catalog/products_catalog.v3.yml
+++ b/reference/catalog/products_catalog.v3.yml
@@ -176,6 +176,8 @@ paths:
product_tax_code: string
categories:
- 0
+ channels:
+ - 1
brand_id: 37
inventory_level: 0
inventory_warning_level: 0
@@ -6594,6 +6596,8 @@ components:
product_tax_code: string
categories:
- 0
+ channels:
+ - 1
brand_id: 0
brand_name: "New Brand"
inventory_level: 0
@@ -6872,6 +6876,8 @@ components:
calculated_price: 50
categories:
- 24
+ channels:
+ - 1
brand_id: 37
brand_name: "New Brand"
option_set_id: 21
@@ -7037,6 +7043,12 @@ components:
type: number
maximum: 1000
minimum: 0
+ channels:
+ type: array
+ description: |
+ An array of channel IDs to which this product is assigned.
+ items:
+ type: number
brand_id:
maximum: 1000000000
minimum: 0
@@ -7374,6 +7386,8 @@ components:
calculated_price: 50
categories:
- 24
+ channels:
+ - 1
brand_id: 37
option_set_id: 21
option_set_display: "right"
@@ -7534,6 +7548,12 @@ components:
type: number
maximum: 1000
minimum: 0
+ channels:
+ type: array
+ description: |
+ An array of channel IDs to which this product is assigned.
+ items:
+ type: number
brand_id:
maximum: 1000000000
minimum: 0
@@ -9104,6 +9124,7 @@ components:
- options
- parent_relations
- custom_fields
+ - channels
IdMinParam:
name: 'id:min'
in: query
diff --git a/reference/channels.v3.yml b/reference/channels.v3.yml
index d4d5a805b..5ad5e6315 100644
--- a/reference/channels.v3.yml
+++ b/reference/channels.v3.yml
@@ -603,7 +603,7 @@ paths:
$ref: '#/components/schemas/site_Post'
x-examples:
application/json:
- url: 'http://kittens.mybigcommerce.com/'
+ url: 'https://kittens.mybigcommerce.com/'
channel_id: 123
tags:
- Site
@@ -2983,7 +2983,8 @@ components:
properties:
url:
type: string
- description: Unique site checkout URL. Must be valid and a sub-domain of primary channel URL.
+ description: |-
+ Unique site checkout URL. It must be valid and a sub-domain of the primary channel URL. Note: The API will change all URLs using the HTTP protocol to HTTPS.
format: uri
example: 'https://checkout.kittens.mybigcommerce.com'
title: ''
@@ -3628,7 +3629,7 @@ components:
url:
type: string
description: The fully qualified URL (including host and scheme) where this site is hosted. All URLs generated for this site will be appended to this.
- example: 'http://kittens.mybigcommerce.com/'
+ example: 'https://kittens.mybigcommerce.com/'
channel_id:
type: integer
description: 'The channel to which this site is attached. Each site belongs to a single channel, and each channel can have either zero or more sites.'
@@ -3662,13 +3663,14 @@ components:
url:
type: string
description: URL of site
+ example: 'https://kittens.mybigcommerce.com/'
type:
type: string
description: URL type
enum:
+ - checkout
- primary
- canonical
- - checkout
created_at:
type: string
example: '2018-01-04T04:15:50.000Z'
@@ -3693,7 +3695,7 @@ components:
url:
type: string
description: The Fully Qualified URL (including host and scheme) where this site is hosted. All URLs generated for this site will be appended to this.
- example: 'http://kittens.mybigcommerce.com/'
+ example: 'https://kittens.mybigcommerce.com/'
channel_id:
type: integer
description: 'The channel this site is attached to. Each site belongs to a single channel, and each channel can have either zero or one sites.'
diff --git a/reference/checkouts.v3.yml b/reference/checkouts.v3.yml
index 2e5592bc5..02f148ebb 100644
--- a/reference/checkouts.v3.yml
+++ b/reference/checkouts.v3.yml
@@ -8178,6 +8178,10 @@ components:
is_mutable:
type: boolean
description: ''
+ added_by_promotion:
+ type: boolean
+ example: false
+ description: Whether or not a promotion added an additional item.
parent_id:
type: number
description: ''
@@ -8244,6 +8248,10 @@ components:
is_require_shipping:
type: boolean
description: ''
+ added_by_promotion:
+ type: boolean
+ example: false
+ description: Whether or not a promotion added an additional item.
is_taxable:
type: boolean
description: ''
diff --git a/reference/segments.v3.yml b/reference/segments.v3.yml
new file mode 100644
index 000000000..443f43a04
--- /dev/null
+++ b/reference/segments.v3.yml
@@ -0,0 +1,731 @@
+openapi: '3.0.3'
+info:
+ title: Segments API
+ version: '1.0'
+ description: |-
+ Group customers into segments to offer them promotions and other customized shopping experiences.
+ termsOfService: 'https://www.bigcommerce.com/terms'
+ contact:
+ name: BigCommerce
+ url: 'https://www.bigcommerce.com'
+ email: support@bigcommerce.com
+servers:
+ - url: 'https://api.bigcommerce.com/stores/{store_hash}/v3'
+ variables:
+ store_hash:
+ default: store_hash
+ description: Permanent ID of the BigCommerce store.
+ description: BigCommerce API Gateway
+security:
+ - X-Auth-Token: []
+tags:
+ - name: Segments
+ - name: Shopper Profiles
+ - name: Shopper Profiles for a Segment
+ - name: Segments for a Shopper Profile
+paths:
+ '/segments':
+ parameters:
+ - $ref: '#/components/parameters/Accept'
+ get:
+ summary: 'Get All Segments'
+ tags:
+ - Segments
+ description: Returns a paginated *Segments List*.
+ operationId: 'GetPaginatedSegmentsList'
+ parameters:
+ - $ref: '#/components/parameters/FilterPageParam'
+ - $ref: '#/components/parameters/FilterLimitParam'
+ - $ref: '#/components/parameters/FilterIdParam'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SegmentCollectionResponse'
+ post:
+ summary: 'Create Segments'
+ tags:
+ - Segments
+ description: |
+ Creates *Segments*.
+ parameters:
+ - $ref: '#/components/parameters/ContentType'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SegmentsPostRequest'
+ application/xml:
+ schema:
+ type: object
+ properties: {}
+ required: true
+ description: ''
+ responses:
+ '201':
+ description: '|
+ An array of created *Segments*.'
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SegmentsResponse'
+ '400':
+ description: |
+ The *Segment* was not valid. This is the result of either missing required fields, or because of invalid data. See the response for more details.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ description: ''
+ type: object
+ x-examples:
+ example-1:
+ data: []
+ errors:
+ - status: 409
+ title: Cannot have multiple segments with the same name.
+ type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes'
+ errors: {}
+ meta:
+ total: 1
+ success: 0
+ failed: 1
+ properties:
+ data:
+ type: array
+ items:
+ type: object
+ properties: {}
+ errors:
+ type: array
+ uniqueItems: true
+ minItems: 1
+ items:
+ type: object
+ properties:
+ status:
+ type: number
+ title:
+ type: string
+ minLength: 1
+ type:
+ type: string
+ minLength: 1
+ errors:
+ type: object
+ properties: {}
+ required:
+ - status
+ meta:
+ type: object
+ properties:
+ total:
+ type: number
+ success:
+ type: number
+ failed:
+ type: number
+ required:
+ - data
+ - errors
+ - meta
+ operationId: 'SegmentsPostRequest'
+ put:
+ summary: 'Update Segments'
+ tags:
+ - Segments
+ description: |
+ Updates *Segments*.
+ operationId: 'PutSegmentObjects'
+ parameters:
+ - $ref: '#/components/parameters/ContentType'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SegmentsPutRequest'
+ required: true
+ responses:
+ '201':
+ description: |
+ An array of created *Segments*.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SegmentsResponse'
+ '400':
+ description: |
+ The *Segment* was not valid. This is the result of either missing required fields, or because of invalid data. See the response for more details.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ delete:
+ summary: 'Delete Segments'
+ tags:
+ - Segments
+ description: |
+ Deletes one or more *Segments* from a store. This will not delete any associated *Shopper Profiles*.
+ operationId: 'DeleteStoreSegment'
+ parameters:
+ - $ref: '#/components/parameters/FilterIdParam'
+ responses:
+ '204':
+ description: |
+ An empty response.
+ '/segments/{segmentId}/shopper-profiles':
+ parameters:
+ - $ref: '#/components/parameters/Accept'
+ - $ref: '#/components/parameters/SegmentIdPathParam'
+ get:
+ summary: 'Get All Shopper Profiles in a Segment'
+ tags:
+ - Shopper Profiles for a Segment
+ description: Returns a list of *Shopper Profiles* that are associated with a given *Segment*.
+ operationId: 'GetSegmentProfiles'
+ parameters:
+ - $ref: '#/components/parameters/FilterPageParam'
+ - $ref: '#/components/parameters/FilterLimitParam'
+ responses:
+ '200':
+ description: |
+ An array of *Shopper Profiles* objects and metadata.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShopperProfilesGetResponse'
+ post:
+ summary: 'Add Shopper Profiles to a Segment'
+ tags:
+ - Shopper Profiles for a Segment
+ description: |-
+ Add *Shopper Profiles* to a specific *Segment*.
+ A maximum number of *Shopper Profiles* per request is `50`, and up to three concurrent requests are allowed.
+ operationId: 'PostShopperProfile'
+ parameters:
+ - $ref: '#/components/parameters/ContentType'
+ responses:
+ '201':
+ description: An array of *Shopper Profiles* added to a *Segment*.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShopperProfilesAddResponse'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ description: ''
+ type: object
+ x-examples:
+ example-1:
+ data: []
+ errors:
+ - status: 409
+ title: Unable to add shopper profiles to segment due to conflicts.
+ type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes'
+ errors:
+ '0': Shopper profile `1465bb16-eb7d-4fba-8312-0ea9d88cd6e9` already exists for segment `dfada416-eba1-49cf-ad21-0f48b48d50ad`.
+ meta:
+ total: 1
+ success: 0
+ failed: 1
+ properties:
+ data:
+ type: array
+ items:
+ type: object
+ properties: {}
+ errors:
+ type: array
+ uniqueItems: true
+ minItems: 1
+ items:
+ type: object
+ properties:
+ status:
+ type: number
+ title:
+ type: string
+ minLength: 1
+ type:
+ type: string
+ minLength: 1
+ errors:
+ type: object
+ properties:
+ '0':
+ type: string
+ minLength: 1
+ meta:
+ type: object
+ required:
+ - total
+ - success
+ - failed
+ properties:
+ total:
+ type: number
+ success:
+ type: number
+ failed:
+ type: number
+ required:
+ - data
+ - errors
+ - meta
+ examples:
+ shopper-profile-conflict:
+ value:
+ data: []
+ errors:
+ - status: 409
+ title: Unable to add shopper profiles to segment due to conflicts.
+ type: 'https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes'
+ errors:
+ '0': Shopper profile `1465bb16-eb7d-4fba-8312-0ea9d88cd6e9` already exists for segment `dfada416-eba1-49cf-ad21-0f48b48d50ad`.
+ meta:
+ total: 1
+ success: 0
+ failed: 1
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShopperProfilesAddRequest'
+ delete:
+ summary: 'Remove Shopper Profiles from a Segment'
+ tags:
+ - Shopper Profiles for a Segment
+ description: |
+ Remove one or more *Shopper Profiles* that are associated with a *Segment*. This operation only removes the association; it doesn't delete the *Shopper Profiles*.
+ operationId: 'DeleteShopperProfile'
+ parameters:
+ - $ref: '#/components/parameters/FilterIdParam'
+ responses:
+ '204':
+ description: |
+ An empty response.
+ '/shopper-profiles':
+ parameters:
+ - $ref: '#/components/parameters/Accept'
+ get:
+ summary: 'Get All Shopper Profiles'
+ tags:
+ - Shopper Profiles
+ description: Returns a paginated *Shopper Profiles* list.
+ operationId: 'GetShopperList'
+ parameters:
+ - $ref: '#/components/parameters/FilterPageParam'
+ - $ref: '#/components/parameters/FilterLimitParam'
+ responses:
+ '200':
+ description: |
+ An array of *Shopper Profiles* objects and metadata.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShopperProfilesCollectionResponse'
+ post:
+ summary: 'Create Shopper Profiles'
+ tags:
+ - Shopper Profiles
+ description: |
+ Creates a *Shopper Profile*.
+ operationId: 'ShopperProfilesRequest'
+ parameters:
+ - $ref: '#/components/parameters/ContentType'
+ requestBody:
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShopperProfilesPostRequest'
+ required: true
+ responses:
+ '201':
+ description: |
+ An array of created *Shopper Profiles*.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ShopperProfilesResponse'
+ '400':
+ description: |
+ The *Segment* was not valid. This is the result of either missing required fields, or because of invalid data. See the response for more details.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorResponse'
+ delete:
+ summary: 'Delete Shopper Profiles'
+ tags:
+ - Shopper Profiles
+ description: |
+ Deletes one or more *Shopper Profiles* from a store.
+ operationId: 'DeleteStoreShopperProfile'
+ parameters:
+ - $ref: '#/components/parameters/FilterIdParam'
+ responses:
+ '204':
+ description: |
+ An empty response.
+ '/shopper-profiles/{shopperProfileId}/segments':
+ parameters:
+ - $ref: '#/components/parameters/Accept'
+ - $ref: '#/components/parameters/ShopperIdPathParam'
+ get:
+ summary: 'Get All Segments for a Shopper Profile'
+ tags:
+ - Segments for a Shopper Profile
+ description: Returns a paginated *Segments* list for a *Shopper Profile*.
+ operationId: 'GetListShopperProfile'
+ parameters:
+ - $ref: '#/components/parameters/FilterPageParam'
+ - $ref: '#/components/parameters/FilterLimitParam'
+ responses:
+ '200':
+ description: |
+ An array of *Segments* objects and metadata.
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/SegmentCollectionResponse'
+components:
+ parameters:
+ Accept:
+ name: Accept
+ in: header
+ required: true
+ description: 'The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.'
+ schema:
+ type: string
+ default: 'application/json'
+ ContentType:
+ name: Content-Type
+ in: header
+ required: true
+ description: 'The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body.'
+ schema:
+ type: string
+ default: 'application/json'
+ SegmentIdPathParam:
+ name: segmentId
+ description: The *Segment* ID.
+ in: path
+ schema:
+ type: string
+ format: uuid
+ required: true
+ ShopperIdPathParam:
+ name: shopperProfileId
+ description: The *Shopper Profile* ID.
+ in: path
+ schema:
+ type: string
+ format: uuid
+ required: true
+ FilterIdParam:
+ name: 'id:in'
+ description: |
+ Comma separated IDs.
+ required: false
+ in: query
+ schema:
+ type: array
+ items:
+ type: string
+ explode: true
+ FilterPageParam:
+ name: page
+ in: query
+ description: |
+ Page number.
+ required: false
+ schema:
+ type: integer
+ FilterLimitParam:
+ name: limit
+ in: query
+ description: |
+ Items count per page.
+ required: false
+ schema:
+ type: integer
+ schemas:
+ SegmentsResponse:
+ description: |
+ Response payload for the BigCommerce API.
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/Segment'
+ meta:
+ type: object
+ properties: {}
+ title: ''
+ SegmentsPostRequest:
+ description: |
+ Request payload for the BigCommerce API.
+ type: array
+ items:
+ $ref: '#/components/schemas/SegmentPost'
+ SegmentsPutRequest:
+ description: |
+ Request payload for the BigCommerce API.
+ type: array
+ items:
+ $ref: '#/components/schemas/SegmentPut'
+ SegmentPost:
+ type: object
+ properties:
+ name:
+ type: string
+ description: Name of the segment
+ example: My Segment
+ description:
+ type: string
+ description: Description of the segment
+ example: Description
+ required:
+ - name
+ SegmentPut:
+ type: object
+ properties:
+ id:
+ type: string
+ description: ID of the segment.
+ format: uuid
+ name:
+ type: string
+ description: Name of the segment.
+ example: My Segment
+ description:
+ type: string
+ description: Description of the segment.
+ example: Description
+ required:
+ - id
+ Pagination:
+ type: object
+ description: |
+ Data about the response including pagination, and collection totals.
+ properties:
+ total:
+ type: integer
+ description: |
+ Total number of items in the result set.
+ example: 1
+ count:
+ type: integer
+ description: |
+ Total number of items in the collection response.
+ example: 1
+ per_page:
+ type: integer
+ description: |
+ The amount of items returned in the collection per page, controlled by the limit parameter.
+ example: 50
+ current_page:
+ type: integer
+ description: |
+ The page you are currently on within the collection.
+ example: 1
+ total_pages:
+ type: integer
+ description: |
+ The total number of pages in the collection.
+ example: 1
+ CollectionMeta:
+ type: object
+ description: |
+ Data about the response including pagination, and collection totals.
+ properties:
+ pagination:
+ $ref: '#/components/schemas/Pagination'
+ ErrorResponse:
+ allOf:
+ - $ref: '#/components/schemas/BaseError'
+ - type: object
+ properties:
+ errors:
+ $ref: '#/components/schemas/DetailedErrors'
+ BaseError:
+ type: object
+ description: |
+ Error payload for the BigCommerce API.
+ properties:
+ status:
+ description: |
+ The HTTP status code.
+ type: integer
+ title:
+ description: |
+ The error title describing the particular error.
+ type: string
+ type:
+ type: string
+ instance:
+ type: string
+ DetailedErrors:
+ type: object
+ properties: {}
+ additionalProperties:
+ type: string
+ Segment:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ description: |
+ The ID of the segment.
+ name:
+ type: string
+ description: |
+ The name of the segment.
+ example: My Segment
+ description:
+ type: string
+ description: |
+ The description of the segment.
+ example: Description
+ created_at:
+ type: string
+ format: date-time
+ description: |
+ The date of which the segment was created.
+ example: 2022-09-15T23:44:05Z
+ updated_at:
+ type: string
+ format: date-time
+ description: |
+ The date of which the segment was updated.
+ example: 2022-09-15T23:44:05Z
+ SegmentCollectionResponse:
+ description: |
+ Response payload for the BigCommerce API.
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/Segment'
+ meta:
+ $ref: '#/components/schemas/CollectionMeta'
+ ShopperProfile:
+ type: object
+ properties:
+ id:
+ type: string
+ format: uuid
+ description: |
+ The ID of the *Shopper Profile*.
+ customer_id:
+ type: integer
+ example: 1
+ description: |
+ The ID of the registered *Customer* associated with this *Shopper Profile*.
+ created_at:
+ type: string
+ format: date-time
+ description: |
+ The date and time when the *Shopper Profile* was created.
+ updated_at:
+ type: string
+ format: date-time
+ description: |
+ The date and time when the *Shopper Profile* was last updated.
+ ShopperProfilesAddRequest:
+ type: array
+ description: A list of *Shopper Profiles* to associate with the segment.
+ items:
+ type: string
+ format: uuid
+ description: 'The ID of a *Shopper Profile*.'
+ ShopperProfilesAddResponse:
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/ShopperProfile'
+ ShopperProfilesGetResponse:
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/ShopperProfile'
+ meta:
+ $ref: '#/components/schemas/CollectionMeta'
+ ShopperProfilesCollectionResponse:
+ description: |
+ Response payload for the BigCommerce API.
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/ShopperProfile'
+ meta:
+ $ref: '#/components/schemas/CollectionMeta'
+ ShopperProfilesPostRequest:
+ description: |
+ Request payload for the BigCommerce API.
+ type: array
+ items:
+ $ref: '#/components/schemas/ShopperProfilePost'
+ ShopperProfilePost:
+ type: object
+ properties:
+ customer_id:
+ type: number
+ description: The ID of a registered Customer to associate with the new *Shopper Profile*.
+ example: 1
+ ShopperProfilesResponse:
+ description: |
+ Response payload for the BigCommerce API.
+ type: object
+ properties:
+ data:
+ type: array
+ items:
+ $ref: '#/components/schemas/ShopperProfile'
+ meta:
+ type: object
+ properties: {}
+ securitySchemes:
+ X-Auth-Token:
+ name: X-Auth-Token
+ description: |-
+ ### OAuth scopes
+ | UI Name | Permission | Parameter |
+ |:--------|:-----------|:----------|
+ | Customers | modify | `store_v2_customers` |
+ | Customers | read-only | `store_v2_customers_read_only` |
+
+ ### Authentication header
+
+ | Header | Argument | Description |
+ |:-------|:---------|:------------|
+ | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see [API Accounts and OAuth Scopes](/docs/start/authentication). |
+
+ ### Further reading
+
+ For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).
+
+ For more about BigCommerce OAuth scopes, see [API Accounts and OAuth Scopes](/docs/start/authentication#oauth-scopes).
+
+ For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).
+ type: apiKey
+ in: header
diff --git a/reference/store_information.v2.yml b/reference/store_information.v2.yml
index 691ece9ab..ff5a860db 100644
--- a/reference/store_information.v2.yml
+++ b/reference/store_information.v2.yml
@@ -204,6 +204,10 @@ components:
type: string
example: AU
description: Two-letter ISO 3166-1 country code
+ infrastructure_region:
+ type: string
+ example: us-central1
+ description: The infrastructure region where the store is located. Use this to determine where to place supporting infrastructure for minimum latency to the store. Compare against GCP regions on https://cloud.google.com/compute/docs/regions-zones
phone:
description: Display phone number.
type: string